在JS中,对象和数组的区别理解

Posted hjc-12580

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在JS中,对象和数组的区别理解相关的知识,希望对你有一定的参考价值。

学习js一段时间,一度搞不清楚“数组”和对象的根本区别。二者都可以用来表示数据的集合。

比如说一个数组是a=【1,2,3,4】,一个对象是a={0:1,1:2,2:3,3:4}

输出alert(a[1]),二者的输出结果相同。花了一点时间整理了我对对象和数组的理解。

区别一:

          数组是有序数据的集合,而对象是无序数据的集合。

区别二:

          数组的数据没有名称,只有下标,而对象的数据需要指定名称。

学过其他语言的人可能会提出“关联数组“是可以有名称的。

比如在js中,可以这样定义一个关联数组:

a【“城市”】= “北京”;

a【“面积”】= “168561”

a【“入口”】= “14455”;

很明显,关联数组的数值是有名称的,但是,在js中关联数组被认为是一个对象,而不是数组。

这和其他语言不一样比如php中关联数组是一个数组。

 

以上是关于在JS中,对象和数组的区别理解的主要内容,如果未能解决你的问题,请参考以下文章

Java中HashMap和TreeMap的区别深入理解

理解js中__proto__和prototype的区别和关系

js 循环之间的区别

js 数组和类数组的区别

js 中引用类型 的深拷贝 和 浅拷贝的区别

深度理解js中var let const 区别