刪除方法:1、用splice()根據(jù)下標(biāo)刪除任意一個元素,語法“arr.splice(index,1)”;2、用delete關(guān)鍵字根據(jù)下標(biāo)刪除任意一個元素,語法“delete arr[index];”;3、用shift()刪除第一個元素,語法“數(shù)組.shift()”;4、用pop()刪除最后一個元素,語法“數(shù)組.pop()”;5、用length刪除最后一個元素。
本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。
在es6中,想要刪除數(shù)組中的任意一項(一個元素),可以利用數(shù)組的splice()方法或delete關(guān)鍵字。
方法1、splice:刪除后,后面的元素自動填補(bǔ)到前面
arr.splice(index, 1)
舉例:現(xiàn)在有數(shù)組 arr=['a','b','c','d']
arr.splice(1, 1); //結(jié)果arr=['a','c','d'](下標(biāo)1開始,刪除1個)
注意:
上面的代碼中,我們要注意,如果想修改 arr 的值,直接這樣操作 arr 直接就變了,而不要寫作 arr= arr.splice(1,1)
,因為 splice() 方法的返回值為刪除掉的元素。
補(bǔ)充:
- spice增加:
arr.splice(1,0,'str'); //結(jié)果arr=['a','str','b','c','d']
- spice替換:
arr.splice(1,1,'str'); //結(jié)果arr=['a','str','c','d']
- spice替換2:
arr.splice(1,2,'str'); //結(jié)果arr=['a','str','d'](就是說:下標(biāo)1開始2個換成1個“str”)
- spice刪除多個:
arr.splice(1,2); //結(jié)果arr=['a','d']
方法2、delete:刪除后,該下標(biāo)位置元素為undefined
delete arr[index];
例:
delete arr[1];
空位元素可以讀寫,length 屬性不排斥空位,空元素位返回值為 undefined
console.log(arr[1]);
而如果只是想要刪除第一個或最后一個元素,也可以利用shift()、pop()、length方法。
方法3:使用shift()函數(shù)刪除第一個數(shù)組元素
array.shift()函數(shù)可以把數(shù)組的第一個元素從其中刪除,并返回第一個元素的值;然后將余下所有元素前移 1 位,以填補(bǔ)數(shù)組頭部的空缺。
var a = [1,2,3,4,5,6,7,8]; //定義數(shù)組 a.shift(); console.log(a);
輸出結(jié)果為:
注:shift()方法會改變原數(shù)組,修改數(shù)組的長度!
方法4:使用pop()刪除最后一個數(shù)組元素
array.pop()方法可以刪除數(shù)組 array 中最后一個元素,并返回被刪除的元素。
var a = [1,2,3,4,5,6,7,8]; //定義數(shù)組 a.pop(); console.log(a)
輸出結(jié)果為:
注:pop()方法也會改變原數(shù)組,修改數(shù)組的長度!
方法5:利用length屬性刪除最后一個數(shù)組元素
數(shù)組的length屬性一般是用來設(shè)置或返回數(shù)組中元素的數(shù)目,即設(shè)置或返回數(shù)組長度。
我們可以利用設(shè)置數(shù)組長度的特性,將length屬性的設(shè)置的比原長度小,即可從數(shù)組尾部刪除一個或多個元素;如果值設(shè)置為0,就會刪除全部數(shù)組,即清空數(shù)組!
語法:數(shù)組對象.length=原數(shù)組長度-1;
示例:
var a = [1,2,3,4,5,6,7,8]; //定義數(shù)組 console.log(a) a.length=7; console.log(a)
【推薦學(xué)習(xí):javascript高級教程】