第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在對(duì)象數(shù)組中選擇唯一項(xiàng)目

在對(duì)象數(shù)組中選擇唯一項(xiàng)目

手掌心 2021-06-16 14:01:03
假設(shè)我有以下對(duì)象數(shù)組[{a:1,b:2,c:4}, {a:3,b:4,c:7}, {a:7,b:10,c:10}, {a:1, b:2,c:4}]如何選擇此數(shù)組中的唯一項(xiàng)。我需要比較兩個(gè)字段(僅 a、b,不包括 c),并且我看到的示例顯示了一個(gè)僅包含單個(gè)字段的地圖。
查看完整描述

3 回答

?
HUH函數(shù)

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊

對(duì)于動(dòng)態(tài)鍵,創(chuàng)建一個(gè)函數(shù),該函數(shù)將表示鍵的數(shù)組和數(shù)組字符串作為輸入。


創(chuàng)建另一個(gè)輔助方法來(lái)比較兩個(gè)對(duì)象的給定鍵。


使用filter()對(duì)象的數(shù)組,然后使用對(duì)every()當(dāng)前索引之前元件不等于關(guān)于給定鍵的當(dāng)前對(duì)象。


let arr = [{a:1,b:2,c:4}, {a:3,b:4,c:7}, {a:7,b:10,c:10}, {a:1, b:2,c:4}];

function comp(obj1,obj2,keys){

  return keys.every(k => obj1[k] === obj2[k]);

}

function getUnique(arr,keys){

  return arr.filter((x,i) => arr.slice(0,i).every(a => !comp(a,x,keys)))

}


console.log(getUnique(arr,['a','b']))


查看完整回答
反對(duì) 回復(fù) 2021-06-18
?
繁花如伊

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊

您可以reduce使用 aMap作為累加器的數(shù)組。使用a和b屬性的組合作為鍵,以便刪除重復(fù)項(xiàng)。然后使用Map#values獲取輸出


const input = [{a:1,b:2,c:4}, {a:3,b:4,c:7}, {a:7,b:10,c:10}, {a:1, b:2,c:4}],

      mapped = input.reduce((map, o) => map.set(o.a + "_" + o.b, o), new Map),

      output = Array.from(mapped.values());


console.log(output)


查看完整回答
反對(duì) 回復(fù) 2021-06-18
  • 3 回答
  • 0 關(guān)注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)