1.数组的本质
本质上,数组属于一种特殊的对象。typeof
运算符会返回数组的类型是object
。
typeof [1, 2, 3] // "object"
var arr = ['a', 'b', 'c'];
Object.keys(arr)
// ["0", "1", "2"]
上面代码中,Object.keys
方法返回数组的所有键名。可以看到数组的键名就是整数0、1、2。
由于数组成员
2.length 属性
数组的length
属性,返回数组的成员数量。
['a', 'b', 'c'].length // 3
length
属性是可写的。如果人为设置一个小于当前成员个数的值,该数组的成员数量会自动减少到length
设置的值。
var arr = [ 'a', 'b', 'c' ];
arr.length // 3
arr.length = 2;
arr // ["a", "b"]
清空数组的一个有效方法,就是将length
属性设为0。
var arr = [ 'a', 'b', 'c' ];
arr.length = 0;
arr // []
当length
属性设为大于数组个数时,读取新增的位置都会返回undefined
。
数组的
forEach
方法,也可以用来遍历数组使用
delete
命令删除一个数组成员,会形成空位,并且不会影响length
属性。var a = [1, 2, 3]; delete a[1]; a[1] // undefined a.length // 3
数组的slice
方法可以将“类似数组的对象”变成真正的数组。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。