javascript - 使用 ImmutableJS 更新映射列表中的一个键

标签 javascript immutability immutable.js

immutable.js 的文档缺乏描述性示例。 有人可以解释一下,我如何在 ImmutableJS 中执行以下操作:

function isOdd (v) {
    return v % 2 === 0
}

var collection = [{a: 1, b: 2}, {a: 3, b: 7}, {a: 5, b: 6}];
collection.map(item => {
 if (isOdd(item.b))  {
   item.a = item.a * 2;
 }
 return item;
})

非常感谢任何帮助。

最佳答案

const collection = Immutable.fromJS([{a: 1, b: 2}, {a: 3, b: 7}, {a: 5, b: 6}]);

const isOdd = a => b => b % 2 ? a : a * 2;  

collection
  .map(item => item
      .update('a', a => isOdd(a)(item.get('b'))))

检查这支笔的控制台输出: http://codepen.io/anon/pen/Nxzdwe?editors=1012

关于javascript - 使用 ImmutableJS 更新映射列表中的一个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35083292/

相关文章:

javascript - 您将如何访问动态生成的表格的特定单元格?

java - 在 java 中重构 Utility 类(静态类)的最佳方法是什么

javascript - 检查 Immutable.js 映射值是否包含 char

typescript - TypeScript 类的私有(private)构造函数变量和公共(public) getter

constants - 如何通过 D 中的 const 引用循环遍历图形?

javascript - 不可变 js 更新 Map 中的键

javascript - 按字母顺序排序 immutable.js

javascript - 使用 DataTable search() 搜索唯一值

javascript - 使用 chrome 调试器有没有办法查看调用我的 api 的函数?

javascript - 如何查看给定 Node.js 版本支持哪些语言环境以及如何启用缺少的语言环境?