改变原数组
-
队列操作
shift() 删除队头元素,返回删除的元素
unshift(...items) 队头添加元素,返回数组长度
pop() 删除队尾元素,返回删除的元素
push(...items) 队尾添加元素,返回数组长度 -
splice() 修改数组元素
语法
array.splice(index,howmany,item1,.....,itemX)
参数
index:必需。规定操作的位置。
howmany :可选。规定应该删除多少元素。默认从index到末尾。
item1, ..., itemX :可选。要添加到数组的新元素。
返回值
返回删除元素组成的数组
var array1= [1, 2, 3, 4, 5];
array1.splice(0, 2, 'new'); // [1, 2]
array1; // ["new", 3, 4, 5]
不改变原数组
- concat() 合并数组
语法
array1.concat(array2,array3,...,arrayX)
参数
array2, array3, ..., arrayX:必需。数组对象或具体的值。
返回值
返回一个新数组。
var array1= [1, 2, 3, 4];
var array2= [5, 6];
array1.concat(array2, 7, 8);
// [1, 2, 3, 4, 5, 6, 7, 8]
- every() 判断一个数组的所有元素是否全部符合某条件。
语法
array.every(function(currentValue,index,arr), thisValue)
参数
currentValue:必需。当前元素的值
index:可选。当前元素的索引值
arr:可选。当前元素属于的数组对象
thisValue:可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。如果省略了 thisValue ,"this" 的值为 "undefined"
返回值
返回一个布尔值。
var array1= [1, 2, 3, 4, 5];
array1.every(function(value, index) {
return value < 6;
})
// true
- filter() 筛选数组中符合条件的元素
语法
array.filter(function(currentValue,index,arr), thisValue)
参数
同上
返回值
返回符合条件的元素组成的新数组。
var array1= [1, 2, 3, 4, 5];
array1.filter(function(value, index) {
return value < 3;
})
// [1, 2]
-
forEach() 遍历数组,执行回调函数
语法
array.forEach(function(currentValue, index, arr), thisValue)
参数
同上
返回值
无。 -
join() 将数组元素连接成字符串
语法
array.join(separator)
参数
separator:可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
返回值
返回一个字符串。
var array1= [1, 2, 3, 4, 5];
array1.join();
// "1,2,3,4,5"
- map() 将数组元素按条件改变
语法
array.map(function(currentValue,index,arr), thisValue)
返回值
返回改变后的元素组成的新数组。
var array1= [1, 2, 3, 4, 5];
array1.map(function(value, index) {
return value + 10;
})
// [11, 12, 13, 14, 15]
- slice() 提取数组的一部分
语法
array.slice(start, end)
参数
start :可选。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end:可选。规定从何处结束(不含)选取。默认到末尾。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
返回值
返回选中的元素组成的新数组。
var array1= [1, 2, 3, 4, 5];
arr1.slice(0, 2); // [1, 2]
- reduce() 将数组元素计算为一个值
语法
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
参数
total:必需。初始值, 或者计算结束后的返回值。
currentValue:必需。当前元素
currentIndex:可选。当前元素的索引
arr:可选。当前元素所属的数组对象。
initialValue:可选。传递给函数的初始值
返回值
返回计算结果
ES6新增
- copyWithin() 复制数组中指定位置的值到指定位置
语法
array.copyWithin(target, start, end)
参数
target:必需。复制到哪儿的索引。
start:必需。被复制元素的起始位置。
end:可选。被复制元素的结束位置(不含),默认到末尾。如果是负值,则转为 5 + end。
返回值
返回一个新数组,改变原数组。
var array1= [1, 2, 3, 4, 5];
array1.copyWithin(2, 1, 3);
// [1, 2, 2, 3, 5]
网友评论