【发布时间】:2015-06-16 21:33:41
【问题描述】:
假设我有一个 immutable.js List 像这样:
var xs = Immutable.fromJS([{key: "k", text: "foo"}])
我想将其转换为如下所示的地图:
var ys = Immutable.fromJS({k: {key: "k", text: "foo"}})
如何在 immutable.js 中以惯用方式将 xs 转换为 ys?
惯用我的意思是任何中间结构都应该是 immutable.js 结构,我认为任何中间步骤都将使用 iterable composition 而不是创建全尺寸的中间表示。
编辑:我创建了一个jsperf benchmark 来比较目前提供的答案。两种非变异解决方案对我来说都相当地道。我可以坚持让投票决定选择的答案,或者坚持到我们收集到大致相同的惯用技术集合为止。
【问题讨论】:
-
你真的想要地图的地图,还是你想要的对象地图?
-
@Bergi Map of Maps - 一直不可变。