arr.length:获取数组元素的长度。
var arr = ['Tom','John','Amy']; arr.length // 3
arr.concat():合并两个或多个数组。
var arr1 = ['a', 'b', 'c']; var arr2 = ['d', 'e', 'f']; var arr3 = arr1.concat(arr2); // [ "a", "b", "c", "d", "e", "f" ]
arr.join(str):将arr以指定字符连接成字符串。
var arr = ['Tom','John','Amy']; arr.join('#'); // Tom#John#Amy
arr.push():在数组末尾推入指定元素。
var arr = ['Tom','John','Amy']; arr.push('Jack'); // 4 arr // ['Tom','John','Amy','Jack']
arr.pop():弹出并返回数组末尾元素。
var arr = ['Tom','John','Amy']; arr.pop(); // Amy arr // ['Tom','John']
arr.shift():弹出并返回数组第一个元素。
var arr = ['Tom','John','Amy']; arr.shift(); // Tom arr // ['John','Amy']
arr.unshift():在数组开头处添加指定元素。
var arr = ['Tom','John','Amy']; arr.unshift('Jack'); // 4 arr // ['Jack',Tom','John','Amy']
arr.sort([函数:排序规则]):排序(默认采用字符串顺序排序,数字排序则需要通过自定义函数实现)。
var arr = ['Tom','John','Amy']; arr.sort(); // ["Amy", "John", "Tom"] arr // 改变原数组:["Amy", "John", "Tom"]
arr.reverse():数组元素顺序反转。
var arr = ["Amy", "John", "Tom"]; arr.reverse() // ['Tom', 'John', 'Amy']
arr.indexOf():获取指定元素在数组中的位置,不存在返回-1。
var arr = ["Amy", "John", "Tom"]; arr.indexOf('John'); // 1 arr.indexOf('David'); // -1
arr.lastIndexOf():获取指定元素最后一次出现的位置,不存在返回-1。
var arr = ["Amy", "John", "Tom", "David", "Tom", "Jeff"]; arr.lastIndexOf('Tom'); // 4 arr.lastIndexOf('James'); // -1
arr.slice(起始位置,结束位置):获取数组中指定的片段(不包含结束位置) – 复制数组。
var arr = ["Amy", "John", "Tom", "David", "Jeff"]; arr.slice(2) // ["Tom", "David", "Jeff"] arr // 原数组不发生变化,["Amy", "John", "Tom", "David", "Jeff"] var arr = ["Amy", "John", "Tom", "David", "Jeff"]; arr.slice(2,4) // 不包含结束位置 ["Tom", "David"]
arr.splice(起始位置,长度,元素1,元素2…):从数组中添加,删除,修改元素。
// 从索引2开始删除数组中所有的元素 var arr = ["Amy", "John", "Tom", "David", "Jeff"]; arr.splice(2) // ["Tom", "David", "Jeff"] arr // 原数组发生变化,["Amy", "John"] // 从索引2开始,删除数组中2个元素 var arr = ["Amy", "John", "Tom", "David", "Jeff"]; arr.splice(2,2) // ["Tom", "David"] arr // 原数组发生变化,["Amy", "John", "Jeff"] // 给数组添加元素:从2位置开始增加'jeff','David'两个元素 var arr = ["Amy", "John", "Tom"]; arr.splice(2,0,"Jeff","David"); console.log(arr); // ["Amy", "John", "Jeff", "David", "Tom"] // 给数组修改元素:从2位置开始用("Jeff","David","June")替换("Tom", "Ada") var arr = ["Amy", "John", "Tom", "Ada", "Alice"]; arr.splice(2,2,"Jeff","David","June"); console.log(arr); // ["Amy", "John", "Jeff", "David", "June", "Alice"]
arr.forEach():遍历数组。
var arr = ["Amy", "John", "Tom", "Ada", "Alice"]; arr.forEach(function(value,key){ console.log(value,key); }) // 结果是将数组的值和索引一一遍历出来 Amy 0 John 1 Tom 2 Ada 3 Alice 4
arr.every():检测数值元素的每个元素是否都符合条件。
var arr = [16,22,15,33,38,28]; // 要求:数组中的每个元素的值都必须大于18为true,其余都为假 arr.every(function(value){ return value > 18; }) // false
arr.some():检测数组元素中是否有元素符合指定条件。
// 要求:数组中的每个元素都小于18为true,其余都为真 arr.some(function(value){ return value > 18; }) // true
arr.map():通过指定函数处理数组的每个元素,并返回处理后的数组。
var arr = [16,22,15,33,38,28]; // 要求:数组中的每个元素的值都必须大于18为true,其余都为假 arr.map(function(value){ return value + 10; }) // [26,32,25,43,48,38]
arr.filter():检测数值元素,并返回符合条件所有元素的数组。
var arr = [16,22,15,33,38,28]; // 要求:数组中超过18的元素都被筛选出来 arr.filter(function(value){ return value > 18; }) // [22,33,38,28]
Array.isArray():判断是否是一个数组(不支持IE8)。
Array.isArray([1, 2, 3]); // true Array.isArray({foo: 123}); // false Array.isArray("foobar"); // false Array.isArray(undefined); // false
array.reduce(callback,initnum):累加器和数组中的每个元素(从左到右)应用一个函数,将其减少为单个值。
[0, 1, 2, 3, 4].reduce(function(accumulator, currentValue, currentIndex, array){ return accumulator + currentValue; }); // 最终结果:10 accumulator:计算值 currentValue: 当前值 currentIndex: 当前索引值 array: 处理的数组