您的位置:首页 > Web前端 > JavaScript

Javascript中数组、对象的区别

2016-11-18 18:13 225 查看

一、摘要

之前在学习javascript的时候对数组和对象一直存在一个疑惑,直到今天有幸看到Jeremy Keith的《JavaScript DOM编程艺术》一书,才豁然开朗,在此记录一下。

二、正文

//索引数组
var user1=Array("xu",25,true);
console.log(user1[0]);
console.log(user1[1]);
console.log(user1[2]);
//关联数组
var user2=Array();
user2["name"]="xu";
user2["age"]="25";
user2["live"]=true;
console.log(user2["name"]);
console.log(user2["age"]);
console.log(user2["live"]);
//对象
var user3={
"name":"xu",
"age":25,
"live":true
}
console.log(user3.name);
console.log(user3.age);
console.log(user3.live);


从上面的代码可以清楚的看到,数据集的表示既可以用数组来表示,同样可以用对象来表示,那么如何选择呢?
后来我才知道,数组(索引数组)是有序的数据集,而对象是无序的,所以如果数据集的顺序很重要就用数组(索引数组),否则就用对象。
其实还有一个区别就是:数组(索引数组)是没有name属性的,而对象是有的。
那肯定又有人问了,很多语言都有关联数组这个东西,它既是无序的,还有属性。其实关联数组是一个Array对象,也就是在索引数组的基础上修改了name属性,但在理想情况下,我们最好是不去这样做的,而更应该使用通用的Object

综上所述:如果数据集的顺序很重要就用索引数组,否则就用对象存储,不建议用关联数组。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: