定义

数组(array)是按次序排列的一组值。每个值的位置都有编号(从0开始),整个数组用方括号表示。

 

var arr = ['a', 'b', 'c'];

 

数组的本质

本质上,数组属于一种特殊的对象。typeof运算符会返回数组的类型是object。

 

typeof [1, 2, 3] // "object"

 

 

Object.keys(arr)

// ["0", "1", "2"]

上面代码中,Object.keys方法返回数组的所有键名。可以看到数组的键名就是整数0、1、2。

 

length 属性

数组的length属性,返回数组的成员数量。

 

['a', 'b', 'c'].length // 3

 

in 运算符

检查某个键名是否存在的运算符in,适用于对象,也适用于数组。

 

var arr = [ 'a', 'b', 'c' ];

2 in arr  // true

'2' in arr // true

4 in arr // false

 

 

for…in 循环和数组的遍历

for..in循环不仅可以遍历对象,也可以遍历数组,毕竟数组只是一种特殊对象。

 

var a = [1, 2, 3];

 

for (var i in a) {

  console.log(a[i]);

}

// 1

// 2

// 3

 

 

 

数组的遍历可以考虑使用for循环或while循环。

 

var a = [1, 2, 3];

 

// for循环

for(var i = 0; i < a.length; i++) {

  console.log(a[i]);

}

 

// while循环

var i = 0;

while (i < a.length) {

  console.log(a[i]);

  i++;

}

 

var l = a.length;

while (l--) {

  console.log(a[l]);

}

 

 

数组的空位

当数组的某个位置是空元素,即两个逗号之间没有任何值,我们称该数组存在空位(hole)。

 

var a = [1, , 1];

a.length // 3

上面代码表明,数组的空位不影响length属性。

 

Delete命令

使用delete命令删除一个数组成员,会形成空位,并且不会影响length属性。

 

var a = [1, 2, 3];

delete a[1];

 

a[1] // undefined

a. length // 3

posted on 2018-02-24 10:46  Sharpest  阅读(106)  评论(0)    收藏  举报