刪除方法:1、用pop()在數(shù)組尾部刪除元素;2、用shift()在數(shù)組開(kāi)頭刪除元素;3、用delete運(yùn)算符刪除指定下標(biāo)位置元素;4、用length屬性刪除尾部一個(gè)或多個(gè)元素;5、用splice()刪除指定下標(biāo)位置后一個(gè)或多個(gè)元素。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
方法1:使用pop() 方法在數(shù)組尾部刪除元素
pop() 方法能夠刪除數(shù)組中最后一個(gè)元素,并返回被刪除的元素。
示例:
var a = []; //定義數(shù)組,模擬空棧 console.log(a.push(1)); //入棧,棧值為[1],length為1 console.log(a.push(2)); //入棧,棧值為[1,2],length為2 console.log(a.pop()); //出棧,棧值為[1],length為1 console.log(a.push(3,4)); //入棧,棧值為[1,3,4],length為3 console.log(a.pop()); //出棧,棧值為[1,3],length為2 console.log(a.pop()); //出棧,棧值為[1],length為1
方法2:使用shift() 方法在數(shù)組開(kāi)頭刪除元素
shift() 方法能夠刪除數(shù)組第 1 個(gè)元素,并返回該元素,然后將余下所有元素前移 1 位,以填補(bǔ)數(shù)組頭部的空缺。如果數(shù)組為空,shift() 將不進(jìn)行任何操作,返回 undefined。
示例:
var a = [1,2,3,4,5]; //定義數(shù)組 for (var i in a) { //遍歷數(shù)組 var t = a.pop(); //尾部彈出 a.unshift(t * 10); //頭部推入,把推進(jìn)的值放大10倍 } console.log(a); //返回[10,20,30,40,50]
方法3:使用delete 運(yùn)算符
使用 delete 運(yùn)算符能刪除指定下標(biāo)位置的數(shù)組元素,刪除后的元素為空位元素,刪除數(shù)組的 length 保持不變。
var a = [1, 2, true, "a", "b"]; delete a[0]; console.log(a);
方法4:使用 length 屬性
使用 length 屬性可以刪除尾部一個(gè)或多個(gè)元素,甚至可以清空整個(gè)數(shù)組。刪除元素之后數(shù)組的 length 將會(huì)動(dòng)態(tài)保持更新。
var a = [1, 2, true, "a", "b"]; a.length = 3; console.log(a);
方法5:使用 splice() 方法
使用 splice() 方法可以刪除指定下標(biāo)位置后一個(gè)或多個(gè)數(shù)組元素。該方法的參數(shù)比較多,功能也很多,本節(jié)示例僅演示它如何刪除數(shù)組元素。其中第 1 個(gè)參數(shù)為操作的起始下標(biāo)位置,第 2 個(gè)參數(shù)指定要?jiǎng)h除元素的個(gè)數(shù)。
var a = [1,2,3,4,5]; a.splice(1,2); console.log(a);
在 splice(1,2,3,4,5) 方法中,第 1 個(gè)參數(shù)值 1 表示從數(shù)組 a 的第 2 個(gè)元素位置開(kāi)始,刪除 2 個(gè)元素,刪除后數(shù)組 a 僅剩下 3 個(gè)元素。
如果給 splice() 方法傳遞一個(gè)參數(shù),則該方法僅執(zhí)行刪除操作,參數(shù)值指定刪除元素的起始下標(biāo)(包括該下標(biāo)元素),splice() 方法將刪除后面所有元素。
var a = [1,2,3,4,5]; a.splice(2); console.log(a);
【