插件窝 干货文章 删除数组指定的某个元素

删除数组指定的某个元素

JavaScript splice 数组 删除 596    来源:插件窝    2019-11-14

方法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');