如何从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);
}
}
}
```
这个版本只删除了第一个匹配项,但如果元素出现多次,由于索引变化会跳过一些。
请告诉我正确且现代的方法来删除数组中的元素。