AB两个数组对象,两个对象中有oid和typeid属性,如果B的oid和typeid和A中的有相同的则将A中这个对象去除用ES6语法
时间: 2024-03-26 07:35:48 浏览: 72
删除对象数组中某个对象
可以使用 `filter()` 方法和箭头函数来实现删除操作,具体代码如下:
```javascript
A = A.filter(a => !B.some(b => b.oid === a.oid && b.typeid === a.typeid));
```
这里使用了 `filter()` 方法来过滤掉 A 中满足某个条件的元素。条件的判断使用了 `some()` 方法和箭头函数,`some()` 方法用于判断数组中是否存在满足某个条件的元素,这里的条件就是 B 中存在一个对象的 oid 和 typeid 属性与 A 中当前元素相同。`!` 符号用于取反,即得到 B 中不存在与 A 中当前元素 oid 和 typeid 相同的元素。
注意,这种方法会返回一个新的数组,而不是修改原来的 A 数组。如果要修改原来的 A 数组,可以使用 `splice()` 方法和 `forEach()` 循环来实现,具体代码如下:
```javascript
B.forEach(b => {
A.forEach((a, i) => {
if (a.oid === b.oid && a.typeid === b.typeid) {
A.splice(i, 1);
}
});
});
```
这里使用了两个 `forEach()` 循环来遍历 A 和 B 数组,如果 B 中存在一个对象的 oid 和 typeid 属性与 A 中当前元素相同,则使用 `splice()` 方法将该元素从 A 数组中删除。注意,这个方法会修改原来的 A 数组。
阅读全文