splice
方法用于删除、替换、添加数组中的元素,由于参数较多,使用起来容易混淆
var list = [];
list.push(1);
list.push(2);
list.push(3);
console.log(list); // [1, 2, 3]
// 删除
list.splice(0, 1); // 删除 -> 从下标为0开始,长度为1
console.log(list); // [2,3]
list.splice(0, 2); // 删除 -> 从下标为0开始,长度为2
console.log(list); // []
//替换
list.splice(0, 1, 4); // 替换 -> 从下标为0开始,长度为1的数组元素替换成4
console.log(list); // [4,2,3]
list.splice(0, 2, 4); // 替换 -> 从下标为0开始,长度为2的数组元素替换成4(即4,2整体替换成4)
console.log(list); // [4,3]
//添加
list.splice(1, 0, 5); // 表示在下标为1处添加一项5
console.log(list); // [1,5,2,3]
list.splice(1,0,5,4,3); // 表示在下标为1处依次添加5/4/3三个元素
console.log(list); // [1,5,4,3,2,3]
另外,splice
方法对数组进行操作时,会改变原有数组的结构,并生成一个新的数组
var list = [1,2,3]
// 删除
var list1 = list.splice(0,1)
console.log(list) // [2,3]
console.log(list1) // [1]
// 替换
var list2 = list.splice(0,1,2)
console.log(list) // [2,2,3]
console.log(list2) // [2]
// 添加
var list3 = list.splice(0,0,3)
console.log(list) // [3,1,2,3]
console.log(list3) // []
可以看到,splice
方法改变了原有数组list,并且会直接生成一个新数组,而且执行删除、替换、添加操作时,生成的新数组又稍有不同。
综上,splice
方法很灵活,功能点比较多,使用的好可以对数组的处理得心应手。