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

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

從數組的數組中刪除重復值

從數組的數組中刪除重復值

catspeake 2021-06-15 17:41:17
我有一個對象數組,我想避免使用特定鍵值重復值。這是一個對象數組。   var dept =  [    {  "department": [    { "userName": "cds",      "userId": "33",      "userFirstname": "Chef",      "userLastname": "Jone"    },    {      "userName": "asset1",      "userId": "27",      "userFirstname": "Asset",      "userLastname": "Ann "    }  ],  "comment": "",  "doc": null},{  "department": [    {       "userName": "audit1",      "userId": "32",      "userFirstname": "Audit",      "userLastname": "Kim"    },    { "userName": "cds",      "userId": "33",      "userFirstname": "Chef",      "userLastname": "Jone"    }  ],  "comment": "",  "doc": null    } ];我試圖通過 javascript 返回不重復的對象。但結果似乎不同。我可以從一個對象數組中返回值。但是,我覺得從數組數組中提取值很困難。如何分配數組的過濾器數組?任何幫助,將不勝感激。提前致謝。   function getUnique(dept, comp) {   const unique = dept   .map(e => e[comp]) // store the keys of the unique objects.map((e, i, final) => final.indexOf(e) === i && i)// eliminate the dead keys & store unique objects.filter(e => dept[e]).map(e => dept[e]);  return unique;  }return getUnique(dept,'userName');我會得到結果 [{  "department": [    { "userName": "cds",      "userId": "33",      "userFirstname": "Chef",      "userLastname": "Jone"    },    {      "userName": "asset1",      "userId": "27",      "userFirstname": "Asset",      "userLastname": "Ann "    }  ],  "comment": "",  "doc": null},{  "department": [    {       "userName": "audit1",      "userId": "32",      "userFirstname": "Audit",      "userLastname": "Kim"    }   ],  "comment": "",  "doc": null    }  ];然而,我得到了結果   [    {"department": [ { "userName": "cds",    "userId": "33",    "userFirstname": "Chef",    "userLastname": "Jone" }, {      "userName": "asset1",      "userId": "27",      "userFirstname": "Asset",      "userLastname": "Ann "  }],"comment": "","doc": null  }]
查看完整描述

1 回答

?
慕森王

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

您可以使用地圖和過濾器的組合


var dept =[{"department": [{ "userName": "cds","userId": "33","userFirstname": "Chef","userLastname": "Jone"},{"userName": "asset1","userId": "27","userFirstname": "Asset","userLastname": "Ann "}],"comment": "","doc": null},{ "department": [{ "userName": "audit1","userId": "32","userFirstname": "Audit","userLastname": "Kim"},{ "userName": "cds","userId": "33","userFirstname": "Chef","userLastname": "Jone"}],"comment": "","doc": null}];

 

let tracker = {}

let op = dept.map(val => {

  let department = val.department

  let filtered = department.filter(({userId}) => {

    if(tracker[userId] !== undefined ){

      return false

    } else {

      tracker[userId] = userId

      return true

    }

  })

  return {...val,department: filtered}

})


console.log(op)


查看完整回答
反對 回復 2021-06-18
  • 1 回答
  • 0 關注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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