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,返回的數組中只包含一項