JavaScript自带删除数组元素方法有:

1.delete方法

delete删除掉数组中的元素后,会把该下标出的值置为undefined,数组的长度不会变

如:

delete arr[1] //[‘a’, ,‘c’,‘d’] 中间出现两个逗号,数组长度不变,有一项为undefined

2.splice方法

splice() 方法用于添加或删除数组中的元素。

注意:这种方法会改变原始数组。

返回值: 如果删除了数组元素,则返回的是含有被删除元素的数组。 如果仅删除一个元素,则返回一个元素的数组。 如果未删除任何元素,则返回空数组。

示例:

//获取元素在数组的下标
Array.prototype.indexOf = function(val) {
	for (var i = 0; i < this.length; i++) {
		if (this[i] == val)	{ 
			return i;
		};
	}
	return -1; 
};

//根据数组的下标,删除该下标的元素
Array.prototype.remove = function(val) {
	var index = this.indexOf(val);
	if (index > -1) {
	this.splice(index, 1);
	}
};

//测试数据
var insertAttaList = ['abs','dsf',,'abc','sdf','fd'];
insertAttaList.remove('abc');

splice(index,len,[item]) 注释:该方法会改变原始数组。

splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值

  • index:数组开始下标

  • len: 替换/删除的长度

  • item:替换的值,删除操作的话 item为空

如:

arr = [‘a’,‘b’,‘c’,‘d’]

删除 —- item不设置

arr.splice(1,1) //[‘a’,‘c’,‘d’] 删除起始下标为1,长度为1的一个值,len设置的1,如果为0,则数组不变
arr.splice(1,2) //[‘a’,‘d’] 删除起始下标为1,长度为2的一个值,len设置的2

替换 —- item为替换的值

arr.splice(1,1,‘ttt’) //[‘a’,‘ttt’,‘c’,‘d’] 替换起始下标为1,长度为1的一个值为‘ttt’,len设置的1
arr.splice(1,2,‘ttt’) //[‘a’,‘ttt’,‘d’] 替换起始下标为1,长度为2的两个值为‘ttt’,len设置的1

添加 —- len设置为0,item为添加的值

arr.splice(1,0,‘ttt’) //[‘a’,‘ttt’,‘b’,‘c’,‘d’] 表示在下标为1处添加一项‘ttt’
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。