javascript - 如何在 Javascript 中将数组更改为对象?

标签 javascript arrays json reactjs

我有对象列表

[
    { regionName:'Alabama',code:'AL', value: 89 },
    { regionName:'Alaska',code:'AK', value: 112 },
    { regionName:'Arizona',code:'AZ', value: 101 },
    { regionName:'Arkansas',code:'AR', value: 123 }
]

我想将其转换为以下格式 -

{
     AL: { value: 89  },
     AK: { value: 112 },
     AZ: { value: 101 },
     AR: { value: 123 }
}

这在 JS 中如何实现?

最佳答案

您可以使用 map 方法,方法是将 callback 提供的函数作为 parameter 传递给给定 array 中的每个项目.

let array=[ { regionName:'Alabama',code:'AL', value: 89 }, { regionName:'Alaska',code:'AK', value: 112 }, { regionName:'Arizona',code:'AZ', value: 101 }, { regionName:'Arkansas',code:'AR', value: 123 } ];

array = Object.assign(...array.map(({ code, value }) => ({ [code]: {value:value }})));
console.log(array);

关于javascript - 如何在 Javascript 中将数组更改为对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47161137/

相关文章:

javascript - 关于未定义数组的查询

检查 char 数组的前两个元素并发送到整数

Javascript:总和或所有数字在for循环中不起作用

json - 使用递归更改 json 中的值

c# - 从 Wunderground 解析 JSON 预测数据

JavaScript 在输出中添加引号

Javascript json eval() 注入(inject)

javascript - 如何制作 `text + line-break + link` 以在 Whatsapp 上分享?

javascript - 如何在 fetch promise 中获取第一个数组

arrays - 如何在 ruby​​ 中使用空行作为分隔符将字符串拆分为数组?