- Mastering Immutable.js
- Adam Boduch
- 183字
- 2021-07-08 10:30:11
Chaining collection mutation methods
You've seen how you can chain collection insertion methods together and that there are two types of collection mutation method. Since each of these methods is a persistent change, they return a new collection, which means that you can chain together complex mutation behavior:
const myList = List.of(1, 2, 3);
const myMap = Map.of('one', 1, 'two', 2);
const myChangedList = myList
.push(4)
.set(3, 5)
.update(3, n => n + 5);
const myChangedMap = myMap
.set('three', 3)
.set('three', 5)
.update('three', t => t + 5);
console.log('myList', myList.toJS());
// -> myList [ 1, 2, 3 ]
console.log('myMap', myMap.toJS());
// -> myMap { one: 1, two: 2 }
console.log('myChangedList', myChangedList.toJS());
// -> myChangedList [ 1, 2, 3, 10 ]
console.log('myChangedMap', myChangedMap.toJS());
// -> myChangedMap { one: 1, two: 2, three: 10 }
Here, we're mutating a list and a map by chaining together insertion methods and mutation methods. A key design trait of the Immutable.js API is that the list methods and the map methods are the same. The obvious difference is push() versus set() for inserting items into lists and maps.
推薦閱讀
- scikit-learn Cookbook
- 流量的秘密:Google Analytics網站分析與優化技巧(第2版)
- Django+Vue.js商城項目實戰
- C語言程序設計案例教程(第2版)
- Visual C++串口通信開發入門與編程實踐
- Cocos2d-x游戲開發:手把手教你Lua語言的編程方法
- Learning AndEngine
- 名師講壇:Spring實戰開發(Redis+SpringDataJPA+SpringMVC+SpringSecurity)
- Learn React with TypeScript 3
- RabbitMQ Cookbook
- Getting Started with LLVM Core Libraries
- Angular開發入門與實戰
- INSTANT Silverlight 5 Animation
- Java程序設計與項目案例教程
- 深入理解BootLoader