刪除方法:1、用splice()根據下標刪除任意一個元素,語法“arr.splice(index,1)”;2、用delete關鍵字根據下標刪除任意一個元素,語法“delete arr[index];”;3、用shift()刪除第一個元素,語法“數組.shift()”;4、用pop()刪除最后一個元素,語法“數組.pop()”;5、用length刪除最后一個元素。
本教程操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。
在es6中,想要刪除數組中的任意一項(一個元素),可以利用數組的splice()方法或delete關鍵字。
方法1、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']
方法2、delete:刪除后,該下標位置元素為undefined
delete arr[index];
例:
delete arr[1];
空位元素可以讀寫,length 屬性不排斥空位,空元素位返回值為 undefined
console.log(arr[1]);
而如果只是想要刪除第一個或最后一個元素,也可以利用shift()、pop()、length方法。
方法3:使用shift()函數刪除第一個數組元素
array.shift()函數可以把數組的第一個元素從其中刪除,并返回第一個元素的值;然后將余下所有元素前移 1 位,以填補數組頭部的空缺。
var a = [1,2,3,4,5,6,7,8]; //定義數組 a.shift(); console.log(a);
輸出結果為:
注:shift()方法會改變原數組,修改數組的長度!
方法4:使用pop()刪除最后一個數組元素
array.pop()方法可以刪除數組 array 中最后一個元素,并返回被刪除的元素。
var a = [1,2,3,4,5,6,7,8]; //定義數組 a.pop(); console.log(a)
輸出結果為:
注:pop()方法也會改變原數組,修改數組的長度!
方法5:利用length屬性刪除最后一個數組元素
數組的length屬性一般是用來設置或返回數組中元素的數目,即設置或返回數組長度。
我們可以利用設置數組長度的特性,將length屬性的設置的比原長度小,即可從數組尾部刪除一個或多個元素;如果值設置為0,就會刪除全部數組,即清空數組!
語法:數組對象.length=原數組長度-1;
示例:
var a = [1,2,3,4,5,6,7,8]; //定義數組 console.log(a) a.length=7; console.log(a)
【推薦學習:javascript高級教程】