js 数组删除另一个数组的元素
时间: 2023-10-24 21:06:58 浏览: 98
假设你有两个数组 `arr1` 和 `arr2`,想要从 `arr1` 中删除在 `arr2` 中出现的元素,可以使用 `filter` 方法结合 `includes` 方法来实现:
```javascript
arr1 = arr1.filter(item => !arr2.includes(item));
```
这行代码会返回一个新的 `arr1` 数组,其中不包含在 `arr2` 中出现的元素。注意,这种方法只会删除在 `arr2` 中出现的元素,如果 `arr1` 中有其他与 `arr2` 中相同的元素,它们不会被删除。如果想要完全删除所有与 `arr2` 中相同的元素,可以使用 `splice` 方法来修改原数组 `arr1`:
```javascript
arr2.forEach(item => {
const index = arr1.indexOf(item);
if (index !== -1) {
arr1.splice(index, 1);
}
});
```
这行代码会遍历 `arr2` 数组中的每个元素,在 `arr1` 中查找它们的索引,如果存在就使用 `splice` 方法删除它们。注意,这种方法会修改原数组 `arr1`,如果不想修改原数组,可以先创建一个 `arr1` 的副本再进行操作。
相关问题
js数组删掉第一个元素
要删除 JavaScript 数组中的第一个元素,可以使用 `shift()` 方法。下面是一个示例:
```javascript
var arr = [1, 2, 3, 4, 5];
// 删除第一个元素
arr.shift();
console.log(arr); // [2, 3, 4, 5]
```
在上面的示例中,我们定义了一个数组 `arr`,然后使用 `shift()` 方法删除了数组的第一个元素。最后,我们使用 `console.log()` 打印出删除元素后的数组。
`shift()` 方法将删除数组的第一个元素,并将其返回。如果你不需要保留被删除的元素,可以直接调用 `shift()` 方法而不进行赋值操作。如果数组是空数组,则 `shift()` 方法将返回 `undefined`。
请注意,`shift()` 方法会改变原始数组,如果你不想改变原始数组,可以使用其他方法来实现删除第一个元素的操作,例如使用 `slice()` 方法创建一个新的子数组。
js数组删掉一个元素
有多种方法可以从 JavaScript 数组中删除一个元素,以下是三种常见的方法:
1. 使用 splice() 方法:
```js
let arr = [1, 2, 3, 4, 5];
arr.splice(2, 1); // 删除第三个元素(下标为 2)
console.log(arr); // [1, 2, 4, 5]
```
2. 使用 pop() 方法:
```js
let arr = [1, 2, 3, 4, 5];
arr.pop(); // 删除最后一个元素
console.log(arr); // [1, 2, 3, 4]
```
3. 使用 shift() 方法:
```js
let arr = [1, 2, 3, 4, 5];
arr.shift(); // 删除第一个元素
console.log(arr); // [2, 3, 4, 5]
```
需要注意的是,以上方法会直接修改原数组。如果你想保留原数组并返回一个新的数组,可以使用 slice() 方法。例如:
```js
let arr = [1, 2, 3, 4, 5];
let newArr = arr.slice(0, 2).concat(arr.slice(3));
console.log(newArr); // [1, 2, 4, 5]
console.log(arr); // [1, 2, 3, 4, 5]
```
阅读全文