// 数组定义
var arr = []; // 或 var arr = new Array();
// 添加数组元素
arr.push(1); // 添加数字
arr.push('okbase.net'); // 添加字符串
arr.push({name:'user1',value:'wang'}); // 添加对象
arr.push({name:'user2',value:'guo'});
arr[arr.length] = {name:'user3',value:'li'};
// 修改数组内容
arr[0]['old'] = 30;
arr[1].old = 20;
// 遍历方式一
for(i in arr) {
console.log(arr[i]);
}
// 遍历方式二
for(var i=0; i<arr.length; i++){
console.log(arr[i]);
}
// 遍历方式三(不适用IE)
arr.forEach(function(e){
console.log(e);
})
// 数组转换到JSON字符串
var json = JSON.stringify(arr);
// JSON字符串转换到数组
var arrParse = JSON.parse('[{"name":"user1","value":"wang","old":30},{"name":"user2","value":"guo","old":20}]');
var itemarr = JSON.parse('{"name":"user1"}');
// 遍历数组
for(var key in itemarr) {
$scope.formData[key] = itemarr[key];
}
//字符串转化为数组
var str = 'aa,bb,cc';
var obj = str.split(',');
//数组转化为字符串
str = obj.join(',');
删除数组中的指定元素
var array = [2, 5, 9, 7];
var index = array.indexOf(5);
// 注意:Internet Explorer 7 和 8 不支持indexOf。
然后
if (index > -1) {
array.splice(index, 1);
}
你也可以通过循环找到指定值
for(var i = array.length - 1; i >= 0; i--) {
if(array[i] === number) {
array.splice(i, 1);
}
}
如果希望删除该位置的对象,而不移除,可以
delete array[index];
如果希望删除的时候返回该删除的值,可以这样:
var value = array.splice( index, 1 )[0];
对象
var site = {name:"好库编程网", age: 12, province: "浙江"};
对象的两种寻址方式:
name=site.name;
name=site["name"];
添加对象元素:
site.test = 'hello!';
alert(site.test);
遍历对象属性:
for(var p in site){
document.write(p + ':' + site[p]);
}
一维数组
(1)
var cars=new Array("Audi","BMW","Benz");
(2)
var cars=["Audi","BMW","Benz"];
(3)
var cars=new Array();
cars[0]="Audi";
cars[1]="BMW";
cars[2]="Benz";
二维和多维数组
1、 创建二维数组方法一:先创建一个一维数组,然后该一维数组的所有成员再创建一维数据
var persons = new Array();
persons[0] = new Array();
persons[1] = new Array();
persons[2] = new Array();
persons[0][0] = "zhangsan";
persons[0][1] = 25;
persons[1][0] = "lisi";
persons[1][1] = 22;
persons[2][0] = "wangwu";
persons[2][1] = 32;
persons[0] = ["zhangsan", 25];
persons[1] = ["lisi", 21];
persons[2] = ["wangwu", 32];
相比较上一种方法,这个要简单易读多了。
2、创建二维数组方法二:先创建一个一维数组,然后该一维数组的所有成员直接赋值
var persons = new Array();
3、创建二维数组方法三:直接赋值
var persons = [["zhangsan", 25], ["lisi", 21], ["wangwu", 32]];
对象数组
var departments = [qinghua{xx1, xx2, xx3}, beida{xx4, xx5, xx6, xx7}, zheda{xx8, xx9}];
数组的遍历
var mycars = new Array()
mycars[0] = "Audi"
mycars[1] = "Benz"
mycars[2] = "BMW"
for (x in mycars)
{
document.write(mycars[x] + "<br />")
}
数组合并
var arr1 = [4,5,6];
var arr2 = [7,8,9];
// 将arr2合并到arr1
arr1 = arr1.concat(arr2);
来源:http://blog.okbase.net/JO2000/archive/55890.html