回顾ImmutableJS Map操作

初始值可以用set, setIn。
update更新

const aMap = Immutable.Map({ apples: 10 })
const bMap = aMap.update("apples", v => v + 1)
bMap.get("apples")
=> 11

const cMap = aMap.update("oranges", () => 6)
bMap.get("oranges")
=> 6

等价于updateIn

const aMap = Immutable.Map({ apples: 10 })
const bMap = aMap.updateIn(["apples"], v => v + 1)
bMap.get("apples")
=> 11

const cMap = aMap.updateIn(["oranges"], () => 6)
bMap.get("oranges")
=> 6

嵌套应该用updateIn getIn

const map = Map({ a:Map({ b:Map({ c: 10 }) }) })
//获取a
map.get("a")
//等价于
map.getIn(["a"])

//获取b
map.getIn(["a", "b"])
//获取c
map.getIn(["a", "b", "c"])

//更新c
const newMap = map.updateIn(['a', 'b', 'c'], val => val * 2)
// Map { "a": Map { "b": Map { "c": 20 } } }

//更新x,示例初始参数100
const newMap = map.updateIn(['a', 'b', 'x'], (val = 100) => val)
// Map { "a": Map { "b": Map { "c": 10, "x": 100 } } }

参考官方文档
https://facebook.github.io/immutable-js/docs/#/Map/updateIn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值