数组与对象的关联和区别:
精简一下基础:(有疑问看原文)
明确一点,数组是一种特殊的对象,对象和数组都是多值变量
var car[1,2,3]; //定义一个“car”数组
typeof(car); //返回“object”
数组是有序数据集,对象是无序的数据集
数组使用数值索引,对象使用命名索引
Var a[紅:red,黄:yellow,蓝:blue] //定义一个数组a,(数组中的元素可以是对象,这里就是例子,但是一般不建议这样写)
var b={紅:red,黄:yellow,蓝:blue} //定义一个对象b
a[1] //查找数组a的第2个元素,返回”黄:yellow“
b.黄 //查找对象b中属性名为黄的属性值,返回yellow
何时使用数组,何时使用对象?
- JavaScript 不支持关联数组
- 如果希望元素名为字符串(文本)则应该使用对象。
- 如果希望元素名为数字则应该使用数组。
数组基础属性和方法:
数组在对象的基础方法和属性上多一个length属性(length的值等于元素的值也等于数组最大下标的值加一)和以下方法
toString()
将以逗号分隔的数组元素转化成字符串输出
join([参数])
将数组元素连接在一起,如有参数(分隔符)例如join("*")就是用*来分隔数组
pop()
从数组中删除最后一个元素,返回这个被删除元素
push([参数])
在数组最后一位添加元素,返回新数组length值
shift()
从数组中删除首个元素,返回这个被删除元素
unshift([参数])
在数组首个元素前添加一个新元素,返回新数组length值
splice(参数1,参数2,[参数3...])
方法可用于向数组添加新项,参数1、2是必须参数分别是添加新元素的位置、从这个位置开始删除元素的个数,参数3可选,为添加的新元素
concat([参数1],[参数2]...)
方法通过合并(连接)现有数组来创建一个新数组,不会改变原数组
slice([参数1],[参数2])
方法用数组的某个片段切出新数组。参数为int值,返回从参数1位置(包括)到参数2对应位置(不包括)元素组成的新数组,不改变原数组