Javascript对象及数组用法笔记

640?wx_fmt=jpeg


// 数组定义
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


原文地址:https://www.cnblogs.com/hgmyz/p/12350881.html