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

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

簡化嵌套 for 循環(huán)

簡化嵌套 for 循環(huán)

白衣非少年 2023-08-10 11:01:10
我有這個代碼:let peopleInRoom = [];  for (let message of messages) {    for (let email of message.user.email) {      if (!peopleInRoom.includes(email)) {        peopleInRoom.push(email);      }    }  }  let peopleInRoomElement = peopleInRoom.map(person => (    <li>{person}</li>  ))基本上我試圖獲取所有獨特的電子郵件并顯示它們。是否有更短、更有效的方法(也許是一些 ES6 功能)來編寫相同的代碼?似乎代碼比需要的太多了。我查看了這個答案:How to get different value from an array ofobjects in JavaScript?編輯:上面的代碼沒有達到我想要的效果。我的數(shù)據(jù)如下所示:[   {     text: 'foo',     user: { email: 'foo@bar.com', password: 'foo' }   },   {     text: 'baz',     user: { email: 'baz@qux.com', password: 'baz' }   }]對象都是消息。我想從每條消息中獲取所有唯一電子郵件的數(shù)組
查看完整描述

5 回答

?
慕哥6287543

TA貢獻1831條經(jīng)驗 獲得超10個贊

您可以使用 JavaScript 中內(nèi)置的 Set 對象。設置對象實際上保留了不同的原始值。


const messages = [

   {

     text: 'foo',

     user: { email: 'foo@bar.com', password: 'foo' }

   },

   {

     text: 'baz',

     user: { email: 'baz@qux.com', password: 'baz' }

   }

]


const peopleInRoom = [...new Set(messages.map(message => message.user.email))];

它實際上從每條消息中提取電子郵件,然后將其傳遞給 Set 對象,該對象僅保留唯一的電子郵件集。之后,它將將該 Set 傳播到數(shù)組中,因為 Set 也是一個可迭代對象,并返回房間里的人的數(shù)組。


查看完整回答
反對 回復 2023-08-10
?
炎炎設計

TA貢獻1808條經(jīng)驗 獲得超4個贊

Set 對象強制其元素的唯一性。您可以這樣使用它:

const?peopleInRoom?=?Array.from(new?Set(messages.map(message?=>?message.user.email)));



查看完整回答
反對 回復 2023-08-10
?
12345678_0001

TA貢獻1802條經(jīng)驗 獲得超5個贊

關于什么:


const peopleInRoom = messages.map(e => e.user.email && e.user.email);

console.log(peopleInRoom)

給你這個輸出:


["foo@bar.com", "baz@qux.com"]


查看完整回答
反對 回復 2023-08-10
?
慕標5832272

TA貢獻1966條經(jīng)驗 獲得超4個贊

首先,您可以創(chuàng)建所有電子郵件地址的數(shù)組:


const data = [

? ?{

? ? ?text: 'foo',

? ? ?user: { email: 'foo@bar.com', password: 'foo' }

? ?},

? ?{

? ? ?text: 'baz',

? ? ?user: { email: 'baz@qux.com', password: 'baz' }

? ?}

]


const emailArray = data.map((elem) => {

? return elem.user.email;

}

然后你可以將它們過濾為唯一的:


function onlyUnique(value, index, self) {

? return self.indexOf(value) === index;

}



emailArrayFiltered = emailArray.filter(onlyUnique);

查看完整回答
反對 回復 2023-08-10
?
繁華開滿天機

TA貢獻1816條經(jīng)驗 獲得超4個贊

如果我理解正確的話,人們有消息,消息有電子郵件地址,OP 會尋找唯一的電子郵件地址集。如果這就是所有可用數(shù)據(jù),那么別無選擇,只能迭代它,檢查每封電子郵件是否已被收集,如果尚未收集,則收集它。

有一些方法可以通過在庫代碼中執(zhí)行此操作來隱藏此工作。最高級別的實用程序可能是lodash 的 _.uniqueBy,但工作必須以某種方式完成。


查看完整回答
反對 回復 2023-08-10
  • 5 回答
  • 0 關注
  • 211 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號