我正在尝试将嵌套数组转换为对象,我进行了多次尝试,但没有成功。
这些是我拥有的数据
[
['key1', { childKey1: "text" }, { childKey2: "text" }],
['key2', { childKey1: "text" }, { childKey2: "text" }]
]
这是我需要的数据
{
key1: {
childKey1: "text",
childKey2: "text"
},
key2: {
childKey1: "text",
childKey2: "text"
}
}
最佳答案
将数据映射到条目 - [[key, value], [key, value]]。使用destructuring获取 key (子数组中的第一项),以及 rest syntax获取对象数组。按 spreading 合并对象数组将对象数组放入 Object.assign()
来获取该值。使用Object.fromEntries()
将条目转换为对象。
const data = [['key1', {childKey1: "text"}, {childKey2: "text"}], ['key2', {childKey1: "text"}, {childKey2: "text"}]]
const result = Object.fromEntries(data.map(
([k, ...v]) => [k, Object.assign({}, ...v)]
))
console.log(result)
关于javascript - 将嵌套的对象数组转换为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59686603/