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
方法很灵活,功能点比较多,使用的好可以对数组的处理得心应手。
来源:https://www.cnblogs.com/pengzhixin/p/7538837.html