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

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

如何遍歷對(duì)象數(shù)組并制作鍵值對(duì)?

如何遍歷對(duì)象數(shù)組并制作鍵值對(duì)?

呼啦一陣風(fēng) 2022-09-29 16:30:13
我有一個(gè)這樣的對(duì)象數(shù)組:let someObj = {    items: [{        id: '12',        value: true    }, {        id: '34',        value: true    }, {        id: '56',        value: false    }]}我想把它添加到一個(gè)現(xiàn)有的對(duì)象,其中id是這個(gè)對(duì)象的一個(gè)鍵,就像這樣:let obj = {    someKey: someValue,    '12': true,    '34': true,    '56': false,}
查看完整描述

4 回答

?
慕斯王

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

您可以通過以下方式實(shí)現(xiàn)您的目標(biāo):Array#reduce


const input = {

  items: [{

    id: '12',

    value: true

  }, {

    id: '34',

    value: true

  }, {

    id: '56',

    value: false

  }]

}


const output = input.items.reduce((o, {

  id,

  value

}) => (o[id] = value, o), {})


console.log(output)


另外,也許最簡(jiǎn)單的方法可能是使用將對(duì)象轉(zhuǎn)換為對(duì),然后使用將它們轉(zhuǎn)換為對(duì)象:Array#mapObject.fromPairs


const input = {

  items: [{

    id: '12',

    value: true

  }, {

    id: '34',

    value: true

  }, {

    id: '56',

    value: false

  }]

}


const output = Object.fromEntries(input.items.map(({

  id,

  value

}) => [id, value]))


console.log(output)


最后,這是一個(gè)功能方法:


  // Composes two functions

  const compose = f => g => x => f (g (x))


  // Given the key-value pairs of some object with 2 properties, maps a pair of values

  const values = ([[, x], [, y]]) => [x, y]


  // Turns an object of two properties into a pair of property values

  const entry = compose (values) (Object.entries)


  // Turns many objects of two properties, into an object on which

  // keys are first properties' values, and vaules the second properties' values.

  const keyValueObject = xs => Object.fromEntries (xs.map (entry))


  const input = {

    items: [{

      id: '12',

      value: true

    }, {

      id: '34',

      value: true

    }, {

      id: '56',

      value: false

    }]

  }


  const output = keyValueObject (input.items)


  console.log(output)

查看完整回答
反對(duì) 回復(fù) 2022-09-29
?
九州編程

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

您可以從項(xiàng)中循環(huán)訪問每個(gè)項(xiàng)并創(chuàng)建一個(gè)新對(duì)象,如下所示。


let someObj = {

    items: [{

        id: '12',

        value: true

    }, {

        id: '34',

        value: true

    }, {

        id: '56',

        value: false

    }]


}

const newObj = {};

someObj.items.map(item =>{

newObj[item.id]= item.value;

});


console.log(newObj);


查看完整回答
反對(duì) 回復(fù) 2022-09-29
?
寶慕林4294392

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

使用和將簡(jiǎn)化。mapObject.values


const output = arr => Object.fromEntries(arr.map(Object.values));


let someObj = {

  items: [

    {

      id: "12",

      value: true,

    },

    {

      id: "34",

      value: true,

    },

    {

      id: "56",

      value: false,

    },

  ],

};



console.log(output(someObj.items));


查看完整回答
反對(duì) 回復(fù) 2022-09-29
?
慕沐林林

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

首先,您可以將它轉(zhuǎn)換為“KV”條目


> someObj.items.map(({id, value}) => [id, value])

[ [ '12', true ], [ '34', true ], [ '56', false ] ]

然后將其轉(zhuǎn)換為對(duì)象


> Object.fromEntries(someObj.items.map(({id, value}) => [id, value]))

{ '12': true, '34': true, '56': false }

你可以做一個(gè)函數(shù)


> let ObjectFromMapping = (vs, mapping) => Object.fromEntries(vs.map(mapping))

> ObjectFromMapping(someObj.items, ({id, value}) => [id, value])

{ '12': true, '34': true, '56': false }

也許變成一個(gè)可迭代的是一個(gè)好主意vs


> let ObjectFromMapping = (vs, mapping) => Object.fromEntries([... vs].map(mapping))

> ObjectFromMapping("abc", (char, idx) =>  [idx, char])

{ '0': 'a', '1': 'b', '2': 'c' }

然后,您的函數(shù)將適用于任何iterable


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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