【问题标题】:JSON object string to convert an array using map [duplicate]JSON对象字符串使用映射转换数组[重复]
【发布时间】:2019-08-13 11:51:46
【问题描述】:

这是我的服务器的回复。

var my_array = [{"1":"1"},{"2":"8"},{"4":"13"},{"5":"19"},{"6":"22"}]; //from server

我想像这样转换它

var new_array = { 1 : "1", 2 : "8", 4 : "13", 5 : "19" , 6 : "22"}

但是如何使用 ma​​p 函数进行转换

new_array = my_array.map(function (a) {
    return ???
});

【问题讨论】:

  • 你不能通过映射做到这一点。您需要遍历每个对象并将它们组合成一个对象。
  • 只要使用Object.assign({}, ...my_array)

标签: javascript jquery arrays object


【解决方案1】:

reduce 与传播一起使用 - 您不能将数组映射到对象。传播还允许在每个对象中使用多个属性。

var new_array = my_array.reduce((a, c) => ({ ...a, ...c }), {});

您也可以在flatMapping entries 之后使用Object.fromEntries

var new_array = Object.fromEntries(my_array.flatMap(Object.entries));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-18
    • 2018-06-26
    • 2018-05-29
    • 2014-08-20
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    相关资源
    最近更新 更多