您的位置:

Javascript删除数组指定元素的方法详解

一、使用splice()函数删除指定元素

在Javascript中,可以使用splice()函数来删除数组中的指定元素。该函数有三个参数,分别是需要删除元素的起始位置、需要删除元素的数量以及需要插入到数组中的新元素,其中第三个参数是可选的。当需要删除一个元素时,第一个参数就是该元素在数组中的索引位置,而第二个参数的值为1,表示只需要删除一个元素。

    const arr = ['a', 'b', 'c', 'd', 'e'];
    const index = arr.indexOf('c');
    if(index > -1){
        arr.splice(index, 1);
    }
    console.log(arr);
    //output: ['a', 'b', 'd', 'e']

以上代码中,使用indexOf()函数找到了元素'c'在数组中的索引位置,并将该位置作为参数传递给splice()函数,然后将需要删除的元素数量设为1,最后将数组剩余的元素输出到控制台中。

二、使用filter()函数删除指定元素

另外一种方法是使用filter()函数对数组进行过滤,将需要删除的元素过滤掉,生成一个新的数组。

    const arr = ['a', 'b', 'c', 'd', 'e'];
    const newArr = arr.filter(function(item){
        return item !== 'c';
    });
    console.log(newArr);
    //output: ['a', 'b', 'd', 'e']

以上代码中,使用filter()函数将数组中不等于'c'的元素过滤出来,生成一个新的数组。最终输出的newArr就是不包含指定元素的新数组。

三、使用slice()函数与concat()函数删除指定元素

还可以使用slice()函数与concat()函数来删除指定元素。首先使用slice()函数将需要删除元素的前半部分和后半部分分别提取出来,然后使用concat()函数将两个部分拼接在一起。

    const arr = ['a', 'b', 'c', 'd', 'e'];
    const index = arr.indexOf('c');
    const newArr = arr.slice(0, index).concat(arr.slice(index + 1));
    console.log(newArr);
    //output: ['a', 'b', 'd', 'e']

以上代码中,使用slice()函数将需要删除的元素前半部分和后半部分分别提取出来,然后使用concat()函数将两个部分拼接在一起,得到一个新的数组。

四、使用forEach()函数删除指定元素

还可以使用forEach()函数遍历数组,从而得到需要删除元素的索引位置,并使用splice()函数进行删除。

    const arr = ['a', 'b', 'c', 'd', 'e'];
    const removeItem = 'c';
    arr.forEach(function(item, index){
        if(item === removeItem){
            arr.splice(index, 1);
        }
    });
    console.log(arr);
    //output: ['a', 'b', 'd', 'e']

以上代码中,使用forEach()函数遍历数组,对于每一个元素,判断是否等于需要删除的元素,如果相等,就使用splice()函数删除该元素。