双重for循环根据一个数组中元素的id删除另一个数组中的元素
时间: 2024-04-15 09:27:08 浏览: 81
要根据一个数组中元素的id删除另一个数组中的元素,可以使用双重for循环来实现。假设第一个数组为array1,第二个数组为array2,元素的id属性为id。
代码示例:
```python
for (let i = 0; i < array1.length; i++) {
let id = array1[i].id;
for (let j = 0; j < array2.length; j++) {
if (array2[j].id === id) {
array2.splice(j, 1);
break;
}
}
}
```
上述代码中,外层的for循环遍历array1中的元素,内层的for循环遍历array2中的元素。当找到array2中id与array1中当前元素的id相匹配时,使用splice()方法删除array2中的该元素,并使用break语句退出内层循环。
请注意,这种方法会修改原始的array2数组。如果你想保留原始的array2数组并返回一个新数组,可以使用filter()方法创建一个过滤后的新数组:
```python
let newArray2 = array2.filter(function(item) {
return !array1.some(function(element) {
return element.id === item.id;
});
});
```
上述代码中,使用filter()方法过滤array2数组,保留不在array1中出现的元素,然后将过滤后的结果赋值给newArray2。这样做不会修改原始的array2数组,并返回一个新的数组。
阅读全文