【问题标题】:How to convert an array of objects to object [duplicate]如何将对象数组转换为对象[重复]
【发布时间】:2021-09-29 17:52:39
【问题描述】:

我有一个如下所示的数组:

[
  {
    value1: {
      something: "something"
    }
  },
  {
    value2: {
      something: "something"
    }
  }
]

我需要收到这样的东西:

{
    value1: {
        something: "something"
    },
    value2: {
        something: "something"
    }
}

提前致谢!

【问题讨论】:

    标签: javascript arrays object javascript-objects


    【解决方案1】:

    只需对原始数组进行缩减

    const data = [
      {
        value1: {
          something: "something"
        }
      },
      {
        value2: {
          something: "something"
        }
      }
    ]
    
    const result = data.reduce((acc, cur) => {
      const keys = Object.keys(cur);
      keys.forEach(key => {
        if(!acc[key]) {
          acc[key] = {...cur[key]}
        }
      });
      return acc;
    }, {});
    
    console.log(result);
    
    /*
    
    {
      value1: { something: 'something' },
      value2: { something: 'something' }
    }
    
    */
    

    【讨论】:

      【解决方案2】:

      const something = 3
      
      console.log([{value1: {something}}, {value2: {something}}].reduce((acc,x) => ({...acc,...x})))

      【讨论】:

      • 您可以通过投票和/或接受答案来表达您的感激之情:D
      • 我希望我能,但不能因为刚刚注册:)
      • 你问了这个问题,所以你可以接受我的回答
      猜你喜欢
      • 2018-09-12
      • 2023-03-19
      • 2017-09-23
      • 1970-01-01
      • 2018-03-28
      • 1970-01-01
      • 2022-01-23
      • 2017-08-11
      相关资源
      最近更新 更多