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


posted @   天使不哭  阅读(138)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2018-10-16 微软宣布下一代集成开发环境 — Visual Studio 2019
2018-10-16 微软宣布下一代集成开发环境 — Visual Studio 2019
2018-10-16 微软宣布下一代集成开发环境 — Visual Studio 2019
点击右上角即可分享
微信分享提示