我可能会过度思考这个问题,但是有一种简单的方法可以将更改合并到现有Map(如果它存在于List中),否则在List的末尾创建一个新的Map?
如下所示?
let mapToUpdateOrInsert = new Map({id: 1})
list.update(list.findIndex((map) => {
return map.get("id") === mapToUpdateOrInsert.get("id")
}), (update) => {
return update.merge({something: changed})
})