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

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

在 Javascript 中創(chuàng)建一個(gè)唯一的數(shù)組

在 Javascript 中創(chuàng)建一個(gè)唯一的數(shù)組

白板的微信 2022-12-22 11:50:58
我在創(chuàng)建包含較大數(shù)組的唯一子集的數(shù)組時(shí)遇到問題,請(qǐng)幫忙!原陣allMembers (6)[{},{},{},{},{},{}]allMembers Payload: 0:{id:1, name: Alex} 1:{id:2, name: James} 2:{id:3, name: Bob} 3:{id:4, name: lara} 4:{id:5, name: Dan} 5:{id:6, name: Jes}第二個(gè)數(shù)組uniqueMembers (3)[{},{},{}] uniqueMembers Payload: 0:{id:1, name: Alex} 1:{id:2, name: James} 2:{id:3, name: Bob}`我正在尋找的是找到在allMembers但不在的用戶uniqueMembers 所以我想要的新數(shù)組輸出將是以下數(shù)組resultArrayresultArray (3)[{},{},{}]resultArray Payload: 0:{id:4, name: lara} 1:{id:5, name: Dan} 2:{id:6, name: Jes}我的嘗試 for(let m=0; m<allMembers.length;m++)        {            console.log('Testing include statement', uniqueMembers.includes(allMembers[m])) //output always false                 if(uniqueMembers.includes(allMembers[m]))                {                    console.log('ITS ALREADY IN: ', allMembers[m])                }else{                    this.setState((prevState) => ({                        resultArray: [...prevState.resultArray, allMembers[m]]                     }));                    console.log('ITS NOT IN: ', allMembers[m])                }        }// resultArray ends up the same as allMembers :( 任何有關(guān)如何獲得所需resultArray值的反饋都將不勝感激!
查看完整描述

3 回答

?
瀟瀟雨雨

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

如果您的unique數(shù)組也非常大,請(qǐng)先將unique數(shù)組轉(zhuǎn)換為一組,這樣可以節(jié)省循環(huán)unique數(shù)組以檢查匹配的時(shí)間。


然后用于Array.filter獲取not in unique元素。


let all = [{id:1, name: 'Alex'}, {id:2, name: 'James'},{id:3, name: 'Bob'},{id:4, name: 'lara'},{id:5, name: 'Dan'} ,{id:6, name: 'Jes'}]


let unique = [{id:2, name: 'James'},{id:3, name: 'Bob'}]


function getNotInUnique(src, target) {

  let uniqueSet = new Set(target.map(member => member.id))

  return src.filter(member => !uniqueSet.has(member.id))

}


console.log(getNotInUnique(all, unique))


查看完整回答
反對(duì) 回復(fù) 2022-12-22
?
慕田峪4524236

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

構(gòu)建關(guān)聯(lián)數(shù)組以有效查找是否應(yīng)過濾掉成員。


lookup = {}

for (const um uniqueMembers)

   lookup[um.id] = 1;


resultArray = allMembers.filter( mem => !lookup.hasOwnProperty(mem) );

在此之后發(fā)布的兩個(gè)解決方案建議使用filterand some。這些解決方案是 O(N 2 )。這個(gè)應(yīng)該是 O(N),這樣更好。


查看完整回答
反對(duì) 回復(fù) 2022-12-22
?
胡說叔叔

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

您可以filter與一起使用some。


const allMembers = [

 {id:1, name: 'Alex'},{id:2, name: 'James'},{id:3, name: 'Bob'}, {id:4, name: 'lara'}, {id:5, name: 'Dan'}, {id:6, name: 'Jes'}

];

const uniqueMembers = [

 {id:1, name: 'Alex'},{id:2, name: 'James'},{id:3, name: 'Bob'}

];

const res = allMembers.filter(m => !uniqueMembers.some(({id})=>m.id===id));

console.log(res);


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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