数组 是可以通过从零开始的整数索引访问的元素序列。
数组文字
数组文字很方便 创建数组:
> var arr = ['a','b','c'];
前述阵列具有三个要素:琴弦'a','b'和'c'。您可以通过整数索引访问它们:
> arr [0]
'一种'
> arr [0] ='x';
> arr
['x','b','c']
该length属性指示数组具有多少个元素。您可以使用它来添加元素和删除元素:
> var arr = ['a','b'];
>长度
2
> arr [arr.length] ='c';
> arr
['a','b','c']
>长度
3
> arr.length = 1;
> arr
[ '一种' ]
该in运算符也适用于数组:
> var arr = ['a','b','c'];
> arr中的1 // //索引1处是否有元素?
真正
> 5 in arr //索引5处是否有元素?
假
请注意,数组是对象,因此可以具有对象属性:
> var arr = [];
> arr.foo = 123;
> arr.foo
123
数组方法
数组有很多方法(请参阅数组原型方法)。这里有一些例子:
> var arr = ['a','b','c'];
> arr.slice(1,2)//复制元素
['b']
> arr.slice(1)
['b','c']
> arr.push('x')//追加一个元素
4
> arr
['a','b','c','x']
> arr.pop()//删除最后一个元素
'X'
> arr
['a','b','c']
> arr.shift()//删除第一个元素
'一种'
> arr
['b','c']
> arr.unshift('x')//前面加上一个元素
3
> arr
['x','b','c']
> arr.indexOf('b')//查找元素的索引
1个
> arr.indexOf('y')
-1
> arr.join('-')//单个字符串中的所有元素
'xbc'
> arr.join('')
'xbc'
> arr.join()
'x,b,c'
遍历数组
有几种遍历元素的数组方法(请参见Iteration(Nondestructive))。两个最重要的是forEach和map。
forEach 遍历数组并将当前元素及其索引传递给函数:
[ 'a', 'b', 'c' ].forEach(
function (elem, index) { // (1)
console.log(index + '. ' + elem);
});
上面的代码产生以下输出:
0。
1. b
2. c
请注意,第(1)行中的函数可以忽略参数。例如,它只能具有参数elem。
map通过将函数应用于现有数组的每个元素来创建新数组:
> [1,2,3] .map(function(x){return x * x})
[1,4,9]