天天看点

从JavaScript数组中删除元素一:从JavaScript数组中删除元素

一:从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() } // 性能最快
           

继续阅读