Mat*_*bst 7 javascript immutable.js
我想在我拥有的地图中的某个键上更改值.除了一个事实,即使用update会给我一个错误,如果我问更新不存在的关键,什么好处是有(如果有的话)使用update过set?我发现set它更加简洁/清洁.事实上,基于文档人们可以(盲目)认为,set实际上比更有效update,因为set没有执行get的updater功能.
And*_*all 15
update 当您的新值是当前值转换的结果时,它会更强大:
const inc = (x) => (x + 1)
const m = Immutable.Map({a: 1, b: 2, c: 3})
m.update('b', inc) #=> {a: 1, b: 3, c: 3})
Run Code Online (Sandbox Code Playgroud)
与set:
m.set('b', inc(m.get('b'))
Run Code Online (Sandbox Code Playgroud)
这个例子非常简单,但是当您开始围绕数据构建算法(如在FP中)而不是相反的方式时,以这种方式应用变换到数据的模式变得更加常见.我之前在比赛中做过一些事情game.update('player', moveLeft).
但是,如果您知道新值是什么,那么就像使用它set一样update(key, x => val)相当愚蠢.
| 归档时间: |
|
| 查看次数: |
7676 次 |
| 最近记录: |