首页 > 解决方案 > 将键数组转换为键值对对象

问题描述

我知道如何转换:

const keys = [1, 2, 3];

对此:

[{key: 1, val: "q"}, {key: 2, val: "w"}, {key: 3, val: "e"}]

使用单个映射语句:

keys.map((x, i) => ({key: x, val: "qwe".charAt(i)}));

但我实际上想得到这个:

{1: "q", 2: "w", 3: "e"}

有没有一种巧妙的方法可以在与上述类似的单个语句中执行此操作?

标签: javascriptnode.jsjavascript-objects

解决方案


您可以使用减少

keys.reduce((accumulator, value, index) => { accumulator[index] = "qwe".charAt(index); return accumulator; }, {})

推荐阅读