日期:2014-05-16  浏览次数:20310 次

Js数组里删除指定的元素(不是指定的位置)
之前一直是做后端的,从来也没有写过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');