方法:1、用shift()刪除第一個元素,語法「陣列.shift()」;2、用pop()刪除最後一個元素,語法「陣列.pop()」;3 、用splice()刪除任意位置的元素,語法「數組.splice(位置,個數)」;4、用length刪除尾部的N個元素,語法「數組.length=原始數組長度-N」;5、直接賦予空數組「[]」來清空元素;6、用delete刪除指定下標的一個元素。
本教學操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。
方法1:使用shift()函數刪除第一個陣列元素
#array.shift()函數可以把陣列的第一個元素從其中刪除,並傳回第一個元素的值;然後將剩餘所有元素前移1 位,以填補陣列頭部的空缺。
var a = [1,2,3,4,5,6,7,8]; //定义数组 a.shift(); console.log(a);
輸出結果為:
附註:shift()方法會改變原始數組,修改數組的長度!
方法2:使用pop()刪除最後一個陣列元素
#array.pop()方法可以刪除陣列array 中最後一個元素,並傳回被刪除的元素。
var a = [1,2,3,4,5,6,7,8]; //定义数组 a.pop(); console.log(a)
輸出結果為:
附註:pop()方法也會改變原始數組,修改數組的長度!
方法3:使用splice() 刪除任意位置的元素
使用splice()可以從指定下標位置開始刪除一個或多個元素。
刪除元素的語法:
array.splice(index,howmany)
第1個參數index
可以指定起始下標位置(即開始刪除元素的位置) ;
第2個參數howmany
指定應該刪除的元素數目(即需要刪除的一個或多個元素)。
只需要將第2個參數howmany
設為1,也就是刪除任一index位置的一個元素。
我們透過下面的範例來具體看看:
var arr= [1,2,3,4,5]; console.log(arr); arr.splice(1,1); console.log(arr);
#利用splice() 方法我們也可以實現在陣列開頭和結尾刪除元素的操作:
如果想要在陣列開頭刪除元素,就設定該方法第1個參數index的值為0即可
var arr= [1,2,3,4,5]; console.log(arr); arr.splice(0,1); console.log(arr);
如果想要在陣列結尾刪除元素,就設定該方法第1個參數index的值為負數,那麼就會以絕對值從陣列右邊開始向左側定位;且第2個參數howmany的值要等於 index的值。
var arr= [1,2,3,4,5]; console.log(arr); //从倒数第1个元素开始,截取1个元素 arr.splice(-1,1); console.log(arr);
var a = [1,2,3,4,5,6,7,8]; //定义数组 console.log(a) a.length=7; console.log(a)
陣列的length屬性一般是用來設定或傳回陣列中元素的數目,即設定或傳回陣列長度。
我們可以利用設定數組長度的特性,將length屬性的設定的比原長度小,即可從數組尾部刪除一個或多個元素;如果值設為0,就會刪除全部數組,即清空數組!
語法:陣列物件.length=原始陣列長度-1;
#範例1:
var a = [1,2,3,4,5,6,7,8]; //定义数组 console.log(a) a.length=0; console.log(a)
範例2:var arr=new Array(1,2,3,4,5,6,7,8,9,10); console.log(arr); arr=[]; console.log(arr);
方法5:直接賦予空數組
[]
直接賦予空數組
[]就會將先前的元素全部清空。
var arr=new Array("香蕉","苹果","梨子","橙子","橘子","榴莲"); console.log(arr); delete arr[1]; //删除下标为1的元素(第二个元素) console.log(arr);
访问到指定元素后,就可以利用delete
运算符 来删除该元素,但数组长度不会发生改变;删除后的该元素会变为空位元素,
var arr=new Array("香蕉","苹果","梨子","橙子","橘子","榴莲"); console.log(arr); delete arr[1]; //删除下标为1的元素(第二个元素) console.log(arr);
空位元素可以读写,length 属性不排斥空位,空元素位返回值为 undefined
console.log(arr[1]);
说明:空元素与元素的值为 undefined 是两个不同的概念,即使空元素的返回值也是 undefined。JavaScript 在初始化数组时,只有真正存储有值得元素才可以分配内存。
【相关推荐:javascript视频教程、web前端】
以上是es6 陣列怎麼移除元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!