首页 > 解决方案 > 如何将两个数组映射到对象数组中

问题描述

我有两个数组

keys:[key0, key1, key2, key3]

body:[['jake', 24, 3, true], ['susan', 21, 0, true]]

我需要的结果是

[{key0:jake, key1:24, key2:3, key3:true}, {key0:susan, key1:21, key2:0, key3:true}]

标签: javascriptarraysobject

解决方案


将键和值映射到成对的数组[key, value],然后使用Object.fromEntries()(参见zipObject函数)转换为对象。

要转换值数组,请使用Array.map()with zipObject

const zipObject = keys => values => Object.fromEntries(keys.map((key, i) => [key, values[i]]))

const keys = ['key0', 'key1', 'key2', 'key3']

const values = [['jake', 24, 3, true], ['susan', 21, 0, true]]

const result = values.map(zipObject(keys))

console.log(result)


推荐阅读