【问题标题】:How to convert an object of key values to an array of objects [duplicate]如何将键值对象转换为对象数组[重复]
【发布时间】:2017-09-23 12:29:28
【问题描述】:

我想在javascript中将一个键值对象转换为一个对象数组

var obj={"name1":"value1","name2":"value2",...};

如何转换成

arr=[{"name":"name1","value":"value1"},{"name":"name2","value":"value2"},...];

【问题讨论】:

    标签: javascript arrays typescript javascript-objects


    【解决方案1】:

    简答(ES6):

    const arr = Object.entries(obj).map(([name, value]) => {
      return {
        name,
        value
      }
    });
    

    另一个答案(ES5):

    var arr = Object.keys(obj).map(function(key) {
      return {
        name: key,
        value: obj[key]
      }
    });
    

    【讨论】:

    • 不要使用Object.entries,因为它不是 ES6,但仍然只是一个草稿。
    • Object.entries 是 ECMAScript 2018(正如 str 所说,仍然是草案)。我猜你说的“ES6”是指 ECMAScript 2015 aka ECMA–262 ed 6
    • 感谢您的澄清。我不会编辑帖子以保持您的 cmets 有效。
    【解决方案2】:

    试试array#mapArray#push

    var obj={"name1":"value1","name2":"value2"};
    var res=[];
    Object.keys(obj).map(a => res.push({name:a , value:obj[a]}))
    console.log(res)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-14
      • 2021-09-29
      • 2018-09-12
      • 1970-01-01
      • 2019-12-02
      相关资源
      最近更新 更多