- Mastering Immutable.js
- Adam Boduch
- 207字
- 2021-07-08 10:30:12
Chaining collection removal methods
If you have more than one value to remove from a collection, you can chain together removal method calls, as follows:
const myList = List.of(1, 2, 3, 4);
const myMap = Map.of(
'one', 1, 'two', 2,
'three', 3, 'four', 4,
'five', 5, 'six', 6
);
const myChangedList = myList
.remove(1)
.remove(1);
const myChangedMap = myMap
.remove('six')
.removeAll(['five', 'four', 'three']);
console.log('myList', myList.toJS());
// -> myList [ 1, 2, 3, 4 ]
console.log('myMap', myMap.toJS());
// -> myMap { one: 1, two: 2, three: 3, four: 4, five: 5, six: 6 }
console.log('myChangedList', myChangedList.toJS());
// -> myChangedList [ 1, 4 ]
console.log('myChangedMap', myChangedMap.toJS());
// -> myChangedMap { one: 1, two: 2 }
There are two identical removal calls to the list—remove(1). What's up with that? Chaining removal calls to remove list items can be tricky because removing one value causes every value to the right of it to change its index. At first, the index 1 points to the value 2. Once it's removed, the index 1 points to the value 3.
With maps, you have a couple of options for removing more than one key-value pair. You can chain together calls to remove(), or you can pass multiple keys to the removeAll() method.
推薦閱讀
- INSTANT Mock Testing with PowerMock
- Python數據分析入門與實戰
- SpringMVC+MyBatis快速開發與項目實戰
- Vue.js入門與商城開發實戰
- 深入理解Java7:核心技術與最佳實踐
- JSP開發案例教程
- Unity 5.x By Example
- Mastering Google App Engine
- Java系統化項目開發教程
- Spring Boot+Vue全棧開發實戰
- Geospatial Development By Example with Python
- Android Studio Cookbook
- C++ System Programming Cookbook
- Delphi開發典型模塊大全(修訂版)
- UML基礎與Rose建模實用教程(第三版)