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

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.

主站蜘蛛池模板: 象州县| 石渠县| 宝应县| 商城县| 澜沧| 盐津县| 通城县| 罗平县| 东城区| 锦屏县| 奉化市| 浦北县| 司法| 绥阳县| 鹿邑县| 白河县| 扶绥县| 浦城县| 宜良县| 东莞市| 时尚| 顺平县| 丹江口市| 拉萨市| 五原县| 荣成市| 北海市| 庆城县| 广河县| 前郭尔| 志丹县| 贺兰县| 攀枝花市| 山阳县| 珠海市| 珠海市| 镶黄旗| 抚松县| 达尔| 汨罗市| 苏尼特左旗|