猿问

将对象数组组合成一个对象

我有看起来像这样的数据。


[

  {

    key: 'myKey'

    value: 'myValue'

  },

  {

    key: 'mySecondKey'

    value: 'mySecondValue'

  },

  {

    key: 'myThirdKey'

    value: 'myThirdValue'

  },

]

对象的数量取决于帐户设置了多少值。我正在尝试以如下格式返回它


{

  mykey: 'myValue'

  mySecondKey: 'mySecondValue'

  myThirdkey: 'myThirdValue'

}

关于我将如何去做这件事的任何建议?


翻阅古今
浏览 137回答 3
3回答

沧海一幻觉

你可以做一些事情,比如const src = [{key:'myKey',value:'myValue'},{key:'mySecondKey',value:'mySecondValue'},{key:'myThirdKey',value:'myThirdValue'},],    result = Object.assign({}, ...src.map(o => ({[o.key]: o.value})))    console.log(result).as-console-wrapper{min-height:100%;}

慕侠2389804

您可以reduce为此使用:const data = [{key:"myKey",value:"myValue"},{key:"mySecondKey",value:"mySecondValue"},{key:"myThirdKey",value:"myThirdValue"}];const res = data.reduce((obj, {key, value}) => ({...obj, [key]: value}), {});console.log(res);

BIG阳

其他答案可行,但我觉得它们有点复杂,这是一个简单的 for of 循环:const data = [  {    key: 'myKey',    value: 'myValue'  },  {    key: 'mySecondKey',    value: 'mySecondValue'  },  {    key: 'myThirdKey',    value: 'myThirdValue'  }];const result = {};for(const {key, value} of data) {  result[key] = value;}console.log(result);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答