gpt4 book ai didi

immutable.js - 如何使用 ImmutableJS 映射映射中的键值以生成另一个映射?

转载 作者:行者123 更新时间:2023-12-04 14:56:12 25 4
gpt4 key购买 nike

如何,使用 ImmutableJS ,我是否通过映射输入映射的键/值对来生成新映射?

在 Scala 中,我会做这样的事情:

scala> Map(1->2, 3->4).toSeq.map{case (k, v) => (k*k) -> (v*v*v)}.toMap
res1: scala.collection.immutable.Map[Int,Int] = Map(1 -> 8, 9 -> 64)

(本例简单地对键进行平方并将值进行立方。)

在 JavaScript 中,我希望有类似的东西:
Immutable.fromJS({1: 2, 3: 4}).map((v, k) => [k*k, v*v*v]).toJS()
// { 1: 8, 9: 64 }

(我正在使用 ES6 via Babel 。)

我意识到由于潜在的键冲突,这不能保证产生定义的结果。在我的应用程序中,我在其他地方阻止了这种情况。

我实际上正在使用 OrderedMap ,如果这有所作为。

最佳答案

我正在寻找的功能是 mapEntries .下面是一个例子:

Immutable.fromJS({1: 2, 3: 4}).mapEntries(([k, v]) => [k*k, v*v*v]).toJS()
// { 1: 8, 9: 64 }
mapEntries接受一个将键/值对作为数组的函数,并且应该将新的键/值对也作为另一个数组返回。

关于immutable.js - 如何使用 ImmutableJS 映射映射中的键值以生成另一个映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39198452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com