Avatar ·

如何从JavaScript数组中删除特定元素?

大家好!我刚开始学习JavaScript,遇到了一个看似简单但找不到正确解决方案的问题。 我有一个数字数组: ```javascript let numbers = [1, 2, 3, 4, 5]; ``` 我想从中删除值为`3`的元素。尝试使用`delete numbers[2]`,但之后被删除的位置变成了`undefined`,数组并没有压缩。我期望得到`[1, 2, 4, 5]`。 我也尝试通过循环编写自己的函数,但代码变得冗长,并且在数组中有重复项时并不总是正确工作。例如: ```javascript function removeItem(arr, item) { for(let i = 0; i < arr.length; i++) { if(arr[i] === item) { arr.splice(i, 1); } } } ``` 这个版本只删除了第一个匹配项,但如果元素出现多次,由于索引变化会跳过一些。 请告诉我正确且现代的方法来删除数组中的元素。