JavaScript 删除数组中指定元素的6种方法

发布时间:2024年01月11日

在JavaScript中,删除数组中的指定元素有多种方法。以下是六种常见的方法:

1. **使用 `splice()` 方法:**

? ?```javascript
? ?let array = [1, 2, 3, 4, 5, 6];
? ?let indexToRemove = array.indexOf(3); // 获取要删除元素的索引
? ?if (indexToRemove !== -1) { // 检查元素是否存在
? ? ? ?array.splice(indexToRemove, 1);
? ?}
? ?console.log(array); // 输出: [1, 2, 4, 5, 6]
? ?```

2. **使用 `filter()` 方法:**

? ?```javascript
? ?let array = [1, 2, 3, 4, 5, 6];
? ?array = array.filter(item => item !== 3); // 删除值为3的所有元素
? ?console.log(array); // 输出: [1, 2, 4, 5, 6]
? ?```

3. **迭代并重新创建数组(ES6解构):**

? ?```javascript
? ?let array = [1, 2, 3, 4, 5, 6];
? ?array = [...array.filter(item => item !== 3)]; // 等同于方法2,但创建了新数组
? ?console.log(array); // 输出: [1, 2, 4, 5, 6]
? ?```

4. **使用 `indexOf` 和 `slice()` 方法:**
?

 ?```javascript
? ?let array = [1, 2, 3, 4, 5, 6];
? ?let indexToRemove = array.indexOf(3);
? ?if (indexToRemove !== -1) {
? ? ? ?array = array.slice(0, indexToRemove).concat(array.slice(indexToRemove + 1));
? ?}
? ?console.log(array); // 输出: [1, 2, 4, 5, 6]


? ?```

5. **扩展运算符和逻辑判断简化版(仅针对单个元素):**

? ?```javascript
? ?let array = [1, 2, 3, 4, 5, 6];
? ?const elementToRemove = 3;
? ?array = array.filter(item => item !== elementToRemove);
? ?console.log(array); // 输出: [1, 2, 4, 5, 6]
? ?```

6. **遍历并赋值(传统for循环方式):**

? ?```javascript
? ?let array = [1, 2, 3, 4, 5, 6];
? ?for (let i = 0; i < array.length; i++) {
? ? ? ?if (array[i] === 3) {
? ? ? ? ? ?array.splice(i, 1);
? ? ? ? ? ?i--; // 因为删除了一个元素后数组长度减小,需要回溯以检查当前索引后的元素
? ? ? ?}
? ?}
? ?console.log(array); // 输出: [1, 2, 4, 5, 6]
? ?```

请注意,`splice()`方法会直接修改原数组,而`filter()`、扩展运算符和`slice()`等方法则是创建新的数组返回。根据实际需求选择合适的方法。

文章来源:https://blog.csdn.net/weixin_43886221/article/details/135527708
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。