- 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.
推薦閱讀
- Spring 5.0 By Example
- 云原生Spring實戰
- TypeScript圖形渲染實戰:基于WebGL的3D架構與實現
- Learning jQuery(Fourth Edition)
- INSTANT Yii 1.1 Application Development Starter
- 從零開始:UI圖標設計與制作(第3版)
- Getting Started with Python
- Python趣味編程與精彩實例
- INSTANT JQuery Flot Visual Data Analysis
- Python 3快速入門與實戰
- jQuery Mobile Web Development Essentials(Second Edition)
- JavaScript Unit Testing
- C語言程序設計實驗指導與習題精解
- Programming MapReduce with Scalding
- 接口自動化測試持續集成:Postman+Newman+Git+Jenkins+釘釘