現在遇到一個需求要刪掉下標為index的元素,下面介紹兩種方法:
一、splice:刪除后,后面的元素自動填補到前面
arr.splice(index, 1)
舉例:現在有數組 arr=['a','b','c','d']
arr.splice(1, 1); //結果arr=['a','c','d'](下標1開始,刪除1個)
注意:
上面的代碼中,我們要注意,如果想修改 arr 的值,直接這樣操作 arr 直接就變了,而不要寫作 arr= arr.splice(1,1),因為 splice() 方法的返回值為刪除掉的元素。
補充:
- spice增加:
arr.splice(1,0,'str'); //結果arr=['a','str','b','c','d']
- spice替換:
arr.splice(1,1,'str'); //結果arr=['a','str','c','d']
- spice替換2:
arr.splice(1,2,'str'); //結果arr=['a','str','d'](就是說:下標1開始2個換成1個“str”)
- spice刪除多個:
arr.splice(1,2); //結果arr=['a','d']
二、delete:刪除后,該下標位置元素為undefined
delete arr[index];//結果arr=['a',undefined,'c','d']