亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何在多個鍵上設置相同的值

如何在多個鍵上設置相同的值

開滿天機 2022-09-02 21:11:45
如何在多個鍵上設置相同的值?例如,我有以下對象:const obj = {   a: 5,   b: 5,   c: 5,   d: 6}有沒有簡單的方法,例如,假設我有[a,b,c](鍵)的數組,并將它們分散在對象中并將它們設置為具有相同值的鍵。重點是看起來更優雅,例如:const keys =[a, b, c]const obj = {  [...keys]: 5}我知道這會拋出錯誤,但尋找一些速記來實現這一點
查看完整描述

5 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

取鍵數組,并將每個鍵映射到鍵和值的條目:5


const keys = ['a', 'b', 'c'];

const obj = {

  ...Object.fromEntries(

    keys.map(key => [key, 5])

  ),

  d: 6

};


console.log(obj);


查看完整回答
反對 回復 2022-09-02
?
嚕嚕噠

TA貢獻1784條經驗 獲得超7個贊

像這樣的東西的工作原理:


const obj = {};

const value = 5;

['a', 'b', 'c'].forEach(key => obj[key] = value);


查看完整回答
反對 回復 2022-09-02
?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

   function(item)

   {

      return  Object.keys(item).reduce((a, b) => ({ ...a, [b]:5 }),{});

   }


查看完整回答
反對 回復 2022-09-02
?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

另一種解決方案可以采用擴展的對象數組。Object.assign


const

    keys = ['a', 'b', 'c'],

    obj = { ...Object.assign(...keys.map(k => ({ [k]: 5 }))), d: 6 };

    

console.log(obj);


查看完整回答
反對 回復 2022-09-02
?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

您可以構建一個 zip 函數,該函數采用鍵數組和值數組,并返回一個對象,其中每個鍵/值對都取自其各自的索引:


const zip =

  (ks, vs) =>

    ks.reduce((o, k, i) =>

      (o[k] = vs[i], o), {});


zip(['a', 'b', 'c'], [5, 5, 5]);

//=> {a: 5, b: 5, c: 5}

如果需要生成以下數組:5


Array(3).fill(5);

//=> [5, 5, 5]


查看完整回答
反對 回復 2022-09-02
  • 5 回答
  • 0 關注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號