数组的增删
1. splice
splice()
方法向数组中添加项目或从数组中删除项目,然后返回被删除的项目,该方法会改变原始数组
参数 | 描述 |
---|---|
index | 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 |
howmany | 必需。要删除的项目数量。如果设置为 0,则不会删除项目。 |
item1, …, itemX | 可选。向数组添加的新项目。 |
let arr = ['茨木', '妖刀', '酒吞', '阎魔']
// 向数组中新增元素
arr.splice(2, 0, '一目连') // ['茨木', '妖刀', '一目连', '酒吞', '阎魔']
arr = ['茨木', '妖刀', '酒吞', '阎魔']
// 从数组中删除一个元素并用一个新元素替换
arr.splice(1, 1, '花鸟') // ['茨木', '花鸟', '酒吞', '阎魔']
arr = ['茨木', '妖刀', '酒吞', '阎魔']
// 从数组中删除多个元素并用一个新元素替换
arr.splice(1, 2, '彼岸花') // ['茨木', '彼岸花', '阎魔']
arr = ['茨木', '妖刀', '酒吞', '阎魔']
// 从数组中删除多个元素并用多个新元素替换
arr.splice(1, 3, '千姬', '紧那罗') // ['茨木', '千姬', '紧那罗']
1. Array.push()
作用:向数组末尾增加新内容
参数:追加的内容可以是一个也可以是多个
返回值:新增后数组的长度
原有数组改变
var arr = [1, 3, 5, 7, 9];
// 在最后添加一个数字2
arr.push(2);
//输出 新数组的长度6
console.log(arr.push(5));
//在最后添加数字4和6,字符串'a'
arr.push(4, 6, 'a');
2. Array.pop()
作用:删除数组最后一项
参数:无
返回值:被删除的那一项,若原数组为空返回undefined
原有数组改变
var arr = [1, 2, 3, 4, 5];
// 删除数组中最后一项
arr.pop();
// 输出被删的那个数据
console.log(arr.pop());
3. Array.unshift()
作用:向数组开始位置追加新内容
参数:要新增的内容
返回:新增后数组的长度
原有数组改变
var arr = [1, 2, 3, 4, 5];
//在数组的起始位置添加一个数据 [8,9,1,2,3,4,5]
arr.unshift(8, 9);
// 输出新数组的长度
console.log(arr.unshift());
4. Array.shift()
作用:删除数组第一项
参数:无
返回:删除的一项,若原数组为空返回undefined
原有数组改变
var arr = [1, 2, 3, 4, 5];
//删除数组中第一项
arr.shift();
// 输出被删除的那个数据
console.log(arr.shift());
5. Array.concat(arr1,arr2…)
作用:实现多个数组的拼接
参数:数组或值
返回:新数组
原有数组不变
var arr = [1, 2, 3, 4, 5];
// 返回新数组 [1,2,3,4,5,1,1,2]
arr.concat([1, 1, 2]);
// 原数组不变 [1,2,3,4,5]
console.log(arr);
6. Array.join()
将数组的每一项用指定字符连接形成一个字符串。默认连接字符为 “,” 逗号。
7. Array.reverse()
将数组倒序。原数组改变。
**8. Array.sort()**对数组元素进行排序。按照字符串UniCode码排序,原数组改变。
①从小到大
②从大到小
③按照数组对象中的某个值进行排序
9. Array.map(function)
原数组的每一项执行函数后,返回一个新的数组。原数组不变。(注意该方法和forEach的区别)。
10. Array.slice(start,end)
从start开始,end之前结束,不到end;如果不给end值,从start开始到数组结束。start可以给负值,-1表示数组最后位置,-2表示倒数第二个,以此类推,顾前不顾后。
**11. Array.splice(index,howmany,arr1,arr2…) **
删除元素并添加元素,从index位置开始删除howmany个元素,并将arr1、arr2…数据从index位置依次插入。howmany为0时,则不删除元素。原数组改变。
12. Array.forEach(function)
用于调用数组的每个元素,并将元素传递给回调函数。原数组不变。(注意该方法和map的区别,若直接打印Array.forEach,结果为undefined)。
13. Array.filter(function)
过滤数组中,符合条件的元素并返回一个新的数组。
14. Array.every(function)
对数组中的每一项进行判断,若都符合则返回true,否则返回false。
15. Array.some(function)
对数组中的每一项进行判断,若都不符合则返回false,否则返回true。
16. Array.reduce(function)
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。