数组(array)是按次序排列的一组值。每个值的位置都有编号(从0开始),整个数组用方括号表示。 var arr = ['a', 'b', 'c']; var arr = [ {a: 1}, [1, 2, 3], function() {return true;} ]; arr[0] // Object {a: 1} arr[1] // [1, 2, 3] arr[2] // function (){return true;} 上面数组arr的3个成员依次是对象、数组、函数。 如果数组的元素还是数组,就形成了多维数组。 var a = [[1, 2], [3, 4]]; a[0][1] // 2 a[1][1] // 4 删除数组 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 // [] 检查某个键名是否存在的运算符in,适用于对象,也适用于数组 var arr = [ 'a', 'b', 'c' ]; 2 in arr // true '2' in arr // true 4 in arr // false 注意,如果数组的某个位置是空位,in运算符返回false。 var arr = []; arr[100] = 'a'; 100 in arr // true 1 in arr // false for...in 循环和数组的遍历 for...in循环不仅可以遍历对象,也可以遍历数组,毕竟数组只是一种特殊对象。 var a = [1, 2, 3]; for (var i in a) { // 记住 array 还是 object {} 类型,因此取值 a[i] ,i 是键名 console.log(a[i]); } // 1 // 2 // 3 但是,for...in不仅会遍历数组所有的数字键,还会遍历非数字键。 var a = [1, 2, 3]; a.foo = true; for (var key in a) { console.log(key); } // 0 // 1 // 2 // foo 数组的遍历可以考虑使用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 i = a.length; //逆向遍历 while (i--) { console.log(a[i]); } 数组的forEach方法,也可以用来遍历数组,详见《标准库》的 Array 对象一章 var colors = ['red', 'green', 'blue']; colors.forEach(function (color) { console.log(color); }); // red // green // blue