Js数组里剔除指定的元素(不是指定的位置)

Array数组之变异和非变异方法

https://www.qianduan7.com/javascript/javascript-array-mutation-method.html

 

s数组里删除指定的元素(不是指定的位置)
之前一直是做后端的,从来也没有写过js,但是却一直想学学,也只是基于兴趣而已!现在到了这个公司,确实大量的写js。但也一直都是没有系统的去看过js!都是搞什么查什么!
最近要解决一个问题,但是用到了js的数组,知道了元素要去删除这个数组中的这个指定的元素。网上找到了一些解决办法,在这里做个笔记记下来:
首先可以给js的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为:

Array.prototype.indexOf = function(val) {            
	for (var i = 0; i < this.length; i++) {
		if (this[i] == val) return i;
	}
	return -1;
};


然后使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素:
代码为:

Array.prototype.remove = function(val) {
	var index = this.indexOf(val);
	if (index > -1) {
		this.splice(index, 1);
	}
};


这样就构造了这样一个函数,比如我有有一个数组:

var emp = ['abs','dsf','sdf','fd']


假如我们要删除其中的fd,就可以使用:

emp.remove('fd');




<script>
var s=new Array(5);
s[0]='0';
s[1]='1';
s[2]='2';
s[3]='3';
s[4]='4';
s.splice(1,1);//移除s[1]
alert(s.length);//值为4
alert(s[1]);//值为2
</script>

posted @ 2014-03-12 11:13  {前端开发}  阅读(9332)  评论(0编辑  收藏  举报