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

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.

主站蜘蛛池模板: 肇东市| 绵阳市| 新绛县| 平泉县| 新营市| 安宁市| 利辛县| 鄯善县| 苍梧县| 保定市| 定南县| 绵阳市| 双桥区| 蒙山县| 新乡市| 高密市| 金湖县| 昔阳县| 都兰县| 监利县| 洛阳市| 扎赉特旗| 赣州市| 温泉县| 昭平县| 长春市| 巍山| 白朗县| 许昌县| 南投县| 巫山县| 滨州市| 铜山县| 遵化市| 石阡县| 桓仁| 天长市| 马尔康县| 阜南县| 肥西县| 绥棱县|