js数组中的splice()方法

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方法很灵活,功能点比较多,使用的好可以对数组的处理得心应手。

posted @ 2017-09-18 00:11  coderAngus  阅读(12725)  评论(0编辑  收藏  举报