【问题标题】:inserting the elements of a list into an object将列表的元素插入到对象中
【发布时间】:2023-02-04 05:07:28
【问题描述】:

我有一个清单。像这样;

0: {value: 50, key: 'A'}
1: {value: 10, key: 'B'}
2: {value: 15, key: 'C'}
3: {value: 20, key: 'D'}
4: {value: 25, key: 'E'}

我想将这个列表转换成一个对象。
例如;输出应该是这样的:

let data = [{     
   A: 50, 
   B: 10, 
   C: 15, 
   D: 20, 
   E: 25 
}]

我需要在 javascript 端处理这个问题,但是因为我对 javascript 不熟悉,所以我找到的解决方案都没有用,我通常总是这样输出。

[ { A:50 }, { B: 10 }, { C: 15 } { D: 20 }, { E: 25 } ]

【问题讨论】:

    标签: javascript reactjs typescript


    【解决方案1】:

    const x = [
      {value: 50, key: 'A'},
      {value: 10, key: 'B'},
      {value: 15, key: 'C'},
      {value: 20, key: 'D'},
      {value: 25, key: 'E'}
    ]
    
    function convert(arr) {
      return arr.reduce((acc, item) => {
        acc[item.key] = item.value;
        return acc;
      }, {})
    }
    
    console.log(convert(x))

    【讨论】:

      【解决方案2】:

      Array#map将数组转换为键值对数组后,就可以使用Object.fromEntries了。

      let arr = [{value: 50, key: 'A'},{value: 10, key: 'B'},{value: 15, key: 'C'},{value: 20, key: 'D'},{value: 25, key: 'E'}];
      let res = Object.fromEntries(arr.map(x => [x.key, x.value]));
      console.log(res);

      【讨论】:

        猜你喜欢
        • 2018-08-02
        • 1970-01-01
        • 2023-04-06
        • 1970-01-01
        • 2013-07-02
        • 1970-01-01
        • 2016-08-21
        • 2018-04-04
        • 1970-01-01
        相关资源
        最近更新 更多