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

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

使用 .map() 而不是 .forEach 創(chuàng)建對象

使用 .map() 而不是 .forEach 創(chuàng)建對象

蠱毒傳說 2023-12-14 17:08:16
以下是代表較大數(shù)據(jù)集的一小部分?jǐn)?shù)據(jù)樣本:const data = [    { id: 32, minimum: 200, maximum: 400 },    { id: 16, minimum: 370, maximum: 390 },    { id: 85, minimum: 700, maximum: 950 }];需要使用作為id鍵并以最小值和最大值作為值從該數(shù)據(jù)創(chuàng)建一個對象,如下所示:創(chuàng)建該對象的當(dāng)前方法如下 -let object = {};data.forEach(o => {    object[o.id] = { min: o.minimum, max: o.maximum }});console.log(object);雖然這可行,但似乎應(yīng)該有一種更簡潔的方式來編寫此代碼。我已經(jīng)嘗試過.map()-const obj = data.map(o => ({[o.id]: { min: o.minimum, max: o.maximum }}));console.log(obj);但輸出的格式不正確 -應(yīng)該在.map()版本中更改哪些內(nèi)容才能實(shí)現(xiàn)所需的輸出格式?
查看完整描述

2 回答

?
慕少森

TA貢獻(xiàn)2019條經(jīng)驗 獲得超9個贊

// mapper simply creates the object that you want from the one that you have - id as the key and min and max are the values

const mapper = ({ id, minimum: min, maximum: max }) => ({ [id]: { min, max } });


const obj = data.reduce((acc, obj) => ({

   ...acc,

   ...mapper(obj)

}), {});

編輯:


雖然reduce 是執(zhí)行此操作的正確方法 - 您將數(shù)組減少為單個事物,但JavaScript 允許您以多種方式執(zhí)行操作。這是使用 map 和 的替代解決方案Object.assign:


const mapper = ({ id, minimum: min, maximum: max }) => ({ [id]: { min, max } });


const obj = Object.assign(...data.map(mapper));


查看完整回答
反對 回復(fù) 2023-12-14
?
弒天下

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

您可以獲取Object.fromEntries?并映射這些條目。

const

? ? data = [{ id: 32, minimum: 200, maximum: 400 }, { id: 16, minimum: 370, maximum: 390 }, { id: 85, minimum: 700, maximum: 950 }],

? ? result = Object.fromEntries(

? ? ? ? data.map(({ id, minimum: min, maximum: max }) => [id, { min, max }])

? ? );


console.log(result);

.as-console-wrapper { max-height: 100% !important; top: 0; }



查看完整回答
反對 回復(fù) 2023-12-14
  • 2 回答
  • 0 關(guān)注
  • 210 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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