arr.concat(value1, value2, ..., valueN)
合并数组,返回新数组
str = arr.join(separator)
连接数组元素,返回字符串
arr.pop()
移除最后元素,返回该元素
arr.shift()
移除第一个元素,返回该元素
arr.push(element1, ..., elementN)
尾部插入若干元素,返回操作后length
arr.unshift(element1, ..., elementN)
头部插入若干元素,返回操作后length
arr.reverse()
反转元素操作
arr.slice(begin[, end])
返回原数组片段
arr.sort([compareFunction])
对数组排序
compareFunction(a,b)
return 0 b在a前
array.splice(index , howMany[, element1[, ...[, elementN]]])
删除一段并插入新元素,返回删除掉的元素所组成的数组
以下ESC5引入方法
arr.every(callback[, thisArg])
是否每个,返回boolean
function isBigEnough(element, index, array) {
return (element >= 10);
}
var passed = [12, 5, 8, 130, 44].every(isBigEnough);
// passed is false
passed = [12, 54, 18, 130, 44].every(isBigEnough);
// passed is true
arr.some(callback[, thisArg])
是否有些,返回boolean
function isBigEnough(element, index, array) {
return (element >= 10);
}
var passed = [2, 5, 8, 1, 4].some(isBigEnough);
// passed is false
passed = [12, 5, 8, 1, 4].some(isBigEnough);
// passed is true
arr.filter(callback[, thisArg])
过滤,返回新数组
function isBigEnough(element) {
return element >= 10;
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// filtered is [12, 130, 44]
其中callback接受三个参数为
当前元素值
当前元素索引
操作数组
arr.reduce(callback,[initialValue])
对数组每个值顺次计算,最终成为一个值
var total = [0, 1, 2, 3].reduce(function(a, b) {
return a + b;
});
// total == 6
其中callback接受四个参数为
- 前值 – 上次计算返回值,或初始值,如未设置初始值则为数组第一个值
- 当前值
- 当前索引
- 操作数组
arr.forEach(callback[, thisArg])
为数组成员执行一次callback
function logArrayElements(element, index, array) {
console.log("a[" + index + "] = " + element);
}
[2, 5, 9].forEach(logArrayElements);
// logs:
// a[0] = 2
// a[1] = 5
// a[2] = 9
其中callback接受三个参数为
– 元素值
– 元素索引
– 操作数组
arr.map(callback[, thisArg])
根据callback return值,返回一个新数组
var numbers = [1, 4, 9];
var roots = numbers.map(function(value){return Math.sqrt(value)});
/* roots is now [1, 2, 3], numbers is still [1, 4, 9] */
其中callback接受三个参数为
– 元素值
– 元素索引
– 操作数组
参考:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array