天天看點

數組(Array)操作之splice() --删除、插入、替換

本文轉載自: https://www.cnblogs.com/kevinz0520/p/5302198.html 作者:kevinZ0520 轉載請注明該聲明。

splice()方法,号稱最強大的數組方法!!

splice()的主要用途是向數組的中部插入項,但是用這種方法的方式則有如下3中。

1、删除:可以删除任意數量的項,隻需指定2個參數:要删除的第一項的位置和要删除的項數。例如,splice(0, 2)會删除數組中的前兩項。

2、插入:可以向指定位置插入任意數量的項,隻需提供3個參數:起始位置、0(要删除的項數)和要插入的項。如果要插入多個項,可以再傳入第四、第五,以至任意多個項。例如,splice(2, 0, "red", "green")會從目前數組的位置2開始插字元串"red"和"green"。

3、替換:可以向指定位置插入任意數量的項,且同時删除任意數量的項,隻需指定3個參數:起始位置、要删除的項數和要插入的任意數量的項。插入的項不必與删除的項相等。例如,splice(2, 1, "red", "green"),會删除目前數組位置2的項,然後再從位置2開始插入字元串"red"和"green"。

splice()方法始終都會傳回一個數組,該數組中包含從原數組删除的項(如果沒有删除任何項,則傳回一個空數組)。下面的代碼展示了上述3中使用splice()方法的方式。

var colors = ["red", "green", "blue"];
var removed = colors.splice(0, 1);    //删除第一項
console.log("colors:" + colors);    //green, blue
console.log("傳回的數組:" + removed);    //red,傳回的數組中隻包含一項

removed = colors.splice(1, 0, "yellow", "orange");  //從位置1開始插入兩項
console.log("colors:" + colors);    //green, yellow, orange, blue
console.log("傳回的數組:" + removed);    //傳回的是一個空數組

removed = colors.splice(1, 1, "red", "purple");   //從位置1 删除一項,插入兩項
console.log("colors:" + colors);    //green, red, purple, orange, blue
console.log("傳回的數組:" + removed);    //yellow,傳回的數組中隻包含一項