方法一:使用`filter()`方法
`filter()` 是 JavaScript 中一个非常强大的数组方法,它可以用来筛选出满足条件的元素,同时忽略掉不需要的元素。通过这种方式,我们可以轻松地创建一个新数组,其中不包含被指定删除的元素。
```javascript
const originalArray = [1, 2, 3, 4, 5];
const elementToRemove = 3;
// 使用 filter 创建新数组,过滤掉等于 elementToRemove 的元素
const newArray = originalArray.filter(item => item !== elementToRemove);
console.log(newArray); // 输出: [1, 2, 4, 5]
```
在这个例子中,我们首先定义了一个原始数组 `originalArray` 和一个要删除的元素 `elementToRemove`。然后利用 `filter()` 方法遍历数组中的每一个元素,并返回所有不等于 `elementToRemove` 的元素组成的数组。
方法二:结合 `for` 循环手动构建新数组
如果你更喜欢传统的循环方式,也可以通过手动遍历数组的方式来实现相同的功能。这种方法虽然显得稍微复杂一些,但同样能够达到目的。
```javascript
const originalArray = ['a', 'b', 'c', 'd'];
const elementToRemove = 'c';
// 创建一个空的新数组
let newArray = [];
// 遍历原始数组
for (let i = 0; i < originalArray.length; i++) {
if (originalArray[i] !== elementToRemove) {
newArray.push(originalArray[i]);
}
}
console.log(newArray); // 输出: ['a', 'b', 'd']
```
这段代码展示了如何通过一个简单的 `for` 循环逐个检查数组中的元素是否应该加入到新数组中。如果当前元素不是需要删除的那个,则将其添加到新数组里。
方法三:使用 `splice()` 方法(注意!此方法会修改原数组)
虽然 `splice()` 方法主要用于修改原数组,但在某些情况下也可以间接用于生成新的数组。不过需要注意的是,`splice()` 会直接改变原数组的内容,因此如果你想要保持原数组不变,建议使用上述两种方法之一。
```javascript
const originalArray = [10, 20, 30, 40];
const indexToRemove = 2; // 假设我们要删除索引为 2 的元素
// 创建原数组的一个副本
const newArray = [...originalArray];
// 使用 splice 修改副本
newArray.splice(indexToRemove, 1);
console.log(newArray); // 输出: [10, 20, 40]
```
这里我们先通过扩展运算符 `[...]` 创建了原数组的一个浅拷贝,然后使用 `splice()` 方法在副本上执行删除操作。这样既达到了删除的目的,又避免了直接修改原数组。
以上就是几种在 JavaScript 中删除数组中指定元素并形成新数组的方法。每种方法都有其适用场景,具体选择哪种取决于你的实际需求和个人偏好。希望这些示例能帮助你更好地理解和运用 JavaScript 数组的相关操作!