javascript - 如何将两个数组映射到对象数组中
问题描述
我有两个数组
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}]
解决方案
将键和值映射到成对的数组[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)
推荐阅读
- spring-batch - Spring Batch:这有模式吗?
- javascript - AJAX PHP 调用请求无响应
- python - 根据字符串生成数字
- unit-testing - 允许 jest 模拟从测试文件外部调用的函数的幕后发生了什么?
- unicode - Microsoft Keyboard Layout Creator:安装后显示的变音符号错误
- python - ModuleNotFoundError:在heroku上部署django项目期间没有名为“jinja2”的模块
- identityserver4 - 使用外部提供程序时如何为 IdentityServer4 设置显示名称
- r - 如何用dendextend标记层次聚类树中的一个观察?
- python - 无法从 ArcGIS REST API 获取形状数据
- angular - Angular 8 .htaccess 允许直接访问子文件夹