Javascript中数组、对象的区别

一、摘要

之前在学习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

综上所述:如果数据集的顺序很重要就用索引数组,否则就用对象存储,不建议用关联数组。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值