亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Lodash/Javascript 的過濾器獲取過濾后的數據

使用 Lodash/Javascript 的過濾器獲取過濾后的數據

波斯汪 2023-03-03 13:17:04
我有兩個對象數組。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: "5", Name: "Rachel", original: { Id: "3" } },];在這里,我試圖根據Id過濾數據并返回過濾后的數據firstObj所以,這里的 firstObj 有一個條目 { Id: "12", Name: "jessy" }this object,其 Id 與 so 不匹配secondObj.original.Id,firstObj將具有給定的結果。我試過的是firstObj.filter(  firstObj,  secondObj.map((second) => {    return firstObj.Id === second.original.Id;  }),);但這不起作用。任何人都可以在這里幫助我,使用 Lodash 或 Js 過濾器。output would be -> [{"Id": "3", "Name": "jessy"}]
查看完整描述

3 回答

?
慕的地10843

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


查看完整回答
反對 回復 2023-03-03
?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

為什么要為此使用 loadash。您可以使用本機過濾器并查找功能來實現此目的

const filter = firstObj.filter(item => {
     return secondObj.find(itm => itm.original.id === item.id)
});


查看完整回答
反對 回復 2023-03-03
?
慕姐8265434

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)


查看完整回答
反對 回復 2023-03-03
  • 3 回答
  • 0 關注
  • 189 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號