从JavaScript数组中删除元素

一:从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() } // 性能最快
发布了43 篇原创文章 · 获赞 19 · 访问量 3094

猜你喜欢

转载自blog.csdn.net/qq_41974199/article/details/102940261