【发布时间】:2021-12-29 16:29:44
【问题描述】:
我正在开发一个复选框 ui react web 应用程序,在其中,选中时我们调度包含对象的项目数组,取消选中我们还会调度包含对象的项目数组。所以我需要添加这个逻辑 - 检查任何数组的对象是否存在于另一个数组中,如果不存在则推送到另一个数组,否则将其从另一个数组中删除
let items1 = [{ name: "a" }, { name: "b" }, { name: "c" }];
let items2 = [{ name: "a" }, { name: "d" }, { name: "e" }];
const commonItems = items1.filter((x) => items2.some((y) => y.name === x.name));
if (!commonItems) {
items1.push(...items2);
} else {
items1 = items1.filter((x) => items2.some((y) => y.name !== x.name));
}
console.log(items1);
console.log(items2);
检查任何数组的对象是否存在于另一个数组中,如果不存在则推入另一个数组,否则将其从另一个数组中删除, 这段代码是否符合上述逻辑?
【问题讨论】:
-
我将其编辑为交互式 sn-p,在运行后记录
items1和items2。请注意,我将const更改为let,因为您的脚本正在更新items1,而您不能使用const来执行此操作。
标签: javascript arrays reactjs ecmascript-6