一、使用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()函数删除该元素。