3 回答
TA贡献1785条经验 获得超8个赞
这是你想要的?
const firstObj = [
{ Id: "1", Name: "Peter" },
{ Id: "2", Name: "John" },
{ Id: "12", Name: "jessy" },
];
const secondObj = [
{ Id: "1", Name: "Roa", original: { Id: "1" } },
{ Id: "2", Name: "John2", original: { Id: "2" } },
{ Id: "1", Name: "Rachel", original: { Id: "3" } },
];
const result = lodash.filter(firstObj, (firstItem) => {
return !lodash.some(secondObj, (secondItem) => {
return firstItem.Id === secondItem.original.Id;
});
});
直播:https://stackblitz.com/edit/js-addy5t?file =index.js
TA贡献1770条经验 获得超3个赞
为什么要为此使用 loadash。您可以使用本机过滤器并查找功能来实现此目的
const filter = firstObj.filter(item => { return secondObj.find(itm => itm.original.id === item.id) });
TA贡献1813条经验 获得超2个赞
Array.filter()
您可以使用和的本地方法Array.some()
来实现所需的输出。
请检查下面的工作代码片段
ES6
const firstObj = [
{ Id: "1", Name: "Peter" },
{ Id: "2", Name: "John" },
{ Id: "12", Name: "jessy" },
],
secondObj = [
{ Id: "1", Name: "Roa", original: { Id: "1" } },
{ Id: "2", Name: "John2", original: { Id: "2" } },
{ Id: "1", Name: "Rachel", original: { Id: "3" } },
];
let result = firstObj.filter(({Id})=> !secondObj.some(item => item.original.Id === Id));
console.log(result)
添加回答
举报