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)
添加回答
舉報