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

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

如何在 ES6 中將對象值相乘并保留它們的鍵

如何在 ES6 中將對象值相乘并保留它們的鍵

慕絲7291255 2022-11-11 13:22:41
我有以下包含轉(zhuǎn)換因子的對象:  const convertToYards =  {    "feet": 3,    "meters": 0.9144,    "yards": 1  }然后有一個變量包含這樣的數(shù)字: const maximumYards = 500;我正在嘗試找出一種方法將所有值乘以其中convertToYards的數(shù)字,maximumYards以便像這樣創(chuàng)建一個新對象:  const maximums =  {    "feet": 1500,    "meters": 457.2,    "yards": 500  }我試過這個const maximums = Object.values(convertToYards).map(o => o * maximumYards);但這會創(chuàng)建一個數(shù)組而不是一個對象,因此它不會攜帶原始鍵名。應(yīng)該如何修改以獲得所需的輸出?
查看完整描述

2 回答

?
萬千封印

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

您可以通過組合Object.entries(獲取數(shù)組)、map(映射值)和Object.fromEntries(再次獲取對象)來實現(xiàn):

const maximums = Object.fromEntries(
    Object.entries(convertToYards).map(([name, value]) => [name, value * maximumYards])
    );

const convertToYards = {

    "feet": 3,

    "meters": 0.9144,

    "yards": 1

};


const maximumYards = 500;


const maximums = Object.fromEntries(

    Object.entries(convertToYards).map(([name, value]) => [name, value * maximumYards])

);


console.log(maximums);

或者只是使用一個for-in循環(huán);但是,如果可能有繼承的屬性,您可能需要清除convertToYards它們:


const maximums = {};

for (const name in convertToYards) {

    maximums[name] = convertToYards[name] * maximumYards;

}



const convertToYards = {

    "feet": 3,

    "meters": 0.9144,

    "yards": 1

};


const maximumYards = 500;


const maximums = {};

for (const name in convertToYards) {

    maximums[name] = convertToYards[name] * maximumYards;

}


console.log(maximums);

中間立場是使用keyswith for-of:


const maximums = {};

for (const name of Object.keys(convertToYards)) {

    maximums[name] = convertToYards[name] * maximumYards;

}


const convertToYards = {

    "feet": 3,

    "meters": 0.9144,

    "yards": 1

};


const maximumYards = 500;


const maximums = {};

for (const name of Object.keys(convertToYards)) {

    maximums[name] = convertToYards[name] * maximumYards;

}


console.log(maximums);


查看完整回答
反對 回復(fù) 2022-11-11
?
慕婉清6462132

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

根據(jù)評論,您可以使用for .. in如下代碼片段中所示的普通舊版本:


const convertToYards = {

  feet: 3,

  meters: 0.9144,

  yards: 1,

};


let maximums = {};

for (let a in convertToYards) {

  maximums[a] = convertToYards[a] * maximumYards;

}

console.log(maximums);


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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