一:從JavaScript數組中删除元素
目錄
- 一:從JavaScript數組中删除元素
-
- 1:使用Splice删除JavaScript中的數組元素
- 2:使用pop從數組末尾删除元素
- 3:使用shift從數組的開頭删除元素
- 4:使用拼接按值删除數組項
- 5:使用數組過濾器方法按值删除項目
- 6:使用Delete運算符明确删除數組元素
- 7:清除或重置JavaScript數組
注意:JavaScript數組沒有remove方法
1:使用Splice删除JavaScript中的數組元素
splice(A,B,C);
A:開始添加或删除元素的位置
B:指定要删除的元素個數
C:參數可選
var arrayList = [1,2,3,4,5,6,7,8,9,0];
var removed = arrayList.splice(1,2);
/** removed == [1,4,5,6,7,8,9,0] */
2:使用pop從數組末尾删除元素
/** 使用length屬性删除末尾個别元素
var arrayList = [1,2,3,4,5,6,7,8];
arrayList.length = 3;
output: arrayList = [1,2,3,]
*/
var arrayList = [1,2,3,4,5,6];
arrayList.pop();
/** arratList==[1,2,3,4,5] */
3:使用shift從數組的開頭删除元素
var arrayList = [1,2,3,4,5,6];
arrayList.shift();
/** arrayList==[2,3,4,5,6] */
删除數組第一個元素,其餘元素向下移動。
如果數組長度為空,或者數組長度為0,此方法傳回undefined.
4:使用拼接按值删除數組項
// 删除一個5
var arrayList = [1,2,3,4,5,6,7,8,9];
for (var i=0; i<arrayList.length; i++){
if(arrayList[i]==5){
arrayList.splice(i,1);
}
}
/** arrayList==[1,2,3,4,6,7,8,9] */
----------------------------------------------------------------
//删除兩個5
var arrayList = [1,2,3,4,5,5,6,7,8,9];
for (var i=0; i<arrayList.length; i++){
if(arrayList[i]==5){
arrayList.splice(i,1);
i--;
}
}
/** arrayList==[1,2,3,4,6,7,8,9] */
5:使用數組過濾器方法按值删除項目
var arrayList = [1,2,3,4,5,6,7,8,9];
var newArr = arrayList.filter(value,index,arr){
return value>6;
}
/** newArr==[7,8,9]; arrayList==[1,2,3,4,5,6,7,8,9] */
優點:原始數組陣型不變,傳回一個包含比對值的新數組。
6:使用Delete運算符明确删除數組元素
var arrayList = [1,2,3,4,5,6,7,8,9];
delete arrayList[3];
console.log(arrayList);
/** arrayList==[1,2,3,empty,5,6,7,8,9] */
delete:釋放元素占用的記憶體。
7:清除或重置JavaScript數組
var arrayList = [1,2,3,4,5,6,7,8,9];
1: arrayList.length = 0; // 最簡單
2: arrayList = [];
3: arraList.splice(0, arrayList.length); // 拼接方法
4: while(arrayList.length){ arratList.pop() } // 性能最快