【问题标题】:How to convert array of objects to object made up of only values如何将对象数组转换为仅由值组成的对象
【发布时间】:2020-12-21 03:06:15
【问题描述】:

我有 [ { key1:value1, key2:value2 }, { key3:value3, key4:value4 }, .... ]。我想把它转换成 { value1: value2, value3: value4 }

【问题讨论】:

标签: javascript arrays object


【解决方案1】:

使用Array#reduce 来积累您的对象数据。 Foreach 对象从第一个值中获取值,并将具有此名称的新属性添加到具有来自第二个对象值的值的累积对象中。

let array = [ { key1:'value1', key2:'value2' }, { key3:'value3', key4:'value4' }];

let res = array.reduce((acc, cur) => {
    values = Object.values(cur);
    acc[values[0]] = values[1];
    return acc;
}, {});

console.log(res);

【讨论】:

    【解决方案2】:

    假设内部对象总是有 2 个键:

    const arr = [ { key1:'value1', key2:'value2' }, { key3:'value3', key4:'value4' }]
    
    const obj = {};
    
    for (const innerObj of arr) {
      const values = Object.values(innerObj);
      obj[values[0]] = values[1];
    }
    
    console.log(obj) // { value1: 'value2', value3: 'value4' }
    

    注意:您的问题假设内部对象中键的顺序,但这可能无法保证

    【讨论】:

      猜你喜欢
      • 2020-06-22
      • 2019-07-29
      • 1970-01-01
      • 1970-01-01
      • 2019-04-26
      • 1970-01-01
      • 2015-04-28
      • 1970-01-01
      • 2022-01-23
      相关资源
      最近更新 更多