JavaScript中如何按索引合并多个数组?
按索引合并多数组的实现方案
假设你使用Python,以下是实现按索引合并多个数组为字典列表的方法:
核心代码
apple = ["apple1", "apple2"] mango = ["mango1", "mango2"] # 原代码中mango第二个元素为"mango1",与预期输出不符,已修正为"mango2" banana = ["banana1", "banana2"] peach = ["peach1", "peach2"] # 按索引合并成字典列表 result = [ { "apple": apple[i], "mango": mango[i], "banana": banana[i], "peach": peach[i] } for i in range(len(apple)) ] print(result)
输出结果
[ {'apple': 'apple1', 'mango': 'mango1', 'banana': 'banana1', 'peach': 'peach1'}, {'apple': 'apple2', 'mango': 'mango2', 'banana': 'banana2', 'peach': 'peach2'} ]
关键说明
- 前提是所有数组长度一致,这里以
apple数组的长度作为循环次数,保证每个索引都能在所有数组中取到对应元素。 - 通过列表推导式遍历每个索引
i,每次循环从各数组中取出索引i的元素,组装成一个字典,最终形成字典列表。
通用版实现(适配任意数量数组)
如果需要处理更多数组,无需逐个写键值对,可借助zip函数简化:
keys = ["apple", "mango", "banana", "peach"] arrays = [apple, mango, banana, peach] result = [dict(zip(keys, items)) for items in zip(*arrays)]
这个版本只需维护键名列表和数组列表,就能自动按索引完成合并,扩展性更强。
内容的提问来源于stack exchange,提问作者Shreeja Kotian
相关产品推荐
相关产品推荐

