【发布时间】:2019-11-25 19:18:10
【问题描述】:
我知道如何转换:
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"}
有没有一种简洁的方法可以在与上述类似的单个语句中执行此操作?
【问题讨论】:
-
[1, 2, 3].reduce((p, c, i) => (p[c] = "qwe"[i], p), {});,替代:Object.fromEntries([1, 2, 3].map((e, i) => [e, "qwe"[i]])); -
@ASDFGerte:嗯……这比我刚刚发现的那个还要整洁。谢谢!!!
-
@ASDFGerte:指的是您的第一个(原始)建议。
-
是的,只是写一些想到的方法。你已经展示了
Object.assign,所以我认为我们得到了所有常见的方法。不知道有没有一些不可行但有趣的方法。
标签: javascript node.js javascript-objects