方法1:最简单易懂的方式
var arr = [1,2,4,5]; var key = arr.indexOf(2); arr.splice(key,1); console.log(arr);//[1,4,5]
ps:如果要删除数组中多个重复一样的值,可以循环判断indexOf(arr)是否还有值,有值的情况下继续使用arr.splice去掉
方法2:封装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');