官术网_书友最值得收藏!

Updating list values

When the new value of a list item depends on the current value, you can use the update() method instead of set(). It takes a function that gets the current value as an argument and the return value is used as the new value, as shown here:

const myList = List.of(
Map.of('total', 0, 'step', 5),
Map.of('total', 5, 'step', 10)
);

const increment = map => map.set(
'total',
map.get('total') + map.get('step')
);

const myChangedList = myList
.update(0, increment)
.update(1, increment);

console.log('myList', myList.toJS());
// -> myList [ { total: 0, step: 5 }, { total: 5, step: 10 } ]
console.log('myChangedList', myChangedList.toJS());
// -> myChangedList [ { total: 5, step: 5 }, { total: 15, step: 10 } ]

Each value in this list is a map with two keys: total and step. The increment() function updates the total value based on its current value and the step value. The function then returns the new map that's created by calling set(). If you know the index of the list value that you want to update, you can pass the increment() function to update(), along with the index. In this example, I've updated both list items.

We could have achieved the same result by calling set() on the list, but this would involve manually getting the value from the list first, since we depend on it. Using update() is simpler because the value that we need is given to us as a function argument.

主站蜘蛛池模板: 长垣县| 兴业县| 鹤峰县| 镇巴县| 蓝山县| 沙洋县| 龙井市| 平遥县| 加查县| 沾化县| 平陆县| 新乡市| 华容县| 武城县| 吉木萨尔县| 五台县| 林周县| 芒康县| 澎湖县| 政和县| 肃北| 临武县| 昭觉县| 和田县| 平泉县| 准格尔旗| 十堰市| 广昌县| 溆浦县| 青岛市| 集贤县| 浑源县| 息烽县| 安陆市| 岳普湖县| 定襄县| 吉木萨尔县| 怀安县| 呼玛县| 子长县| 南城县|