如何将keys数组与二维body数组映射转换为对象数组
数组映射为对象数组的实现方案
JavaScript 实现
- 方法1:使用
map+Object.fromEntries(ES2019+支持)
const keys = ['key0', 'key1', 'key2', 'key3']; const body = [['jake', 24, 3, true], ['susan', 21, 0, true]]; const result = body.map(row => Object.fromEntries(keys.map((key, idx) => [key, row[idx]])) );
逻辑说明:遍历body的每一行数据,将keys数组的元素和当前行的元素按索引一一配对成键值对数组,最终转换为对象。
- 方法2:兼容性更强的
reduce写法
const result = body.map(row => keys.reduce((acc, key, idx) => { acc[key] = row[idx]; return acc; }, {}) );
Python 实现
直接用内置的zip方法配对键值,搭配列表推导式生成结果:
keys = ['key0', 'key1', 'key2', 'key3'] body = [['jake', 24, 3, True], ['susan', 21, 0, True]] result = [dict(zip(keys, row)) for row in body]
内容的提问来源于stack exchange,提问作者sam
相关产品推荐
相关产品推荐

