【发布时间】:2018-08-29 13:41:33
【问题描述】:
我有一个不可变映射,其中每个键都是一个任意类别(这些将是一个列表)。然后我有一个每个类别必须有的字符串数组。如果特定类别不包含该字符串,则会将其添加到地图内的相应列表中。
const categories = new Map({
cat1: new List(['animal', 'color']),
cat2: new List(['animal']),
});
const missingKeys = new Map({
cat1: new List(),
cat2: new List(),
});
categories.keySeq().toArray().forEach((category) => {
const keys = categories.get(category).keySeq().toArray();
const requiredKeys = ['animal', 'color'];
// loop through required keys and push any key that is not found
// in the categories Map
requiredKeys.forEach((key) => {
if (keys.indexOf(key) === -1) {
// add missing keys to respective category of `missingKeys`
missingKeys.get(category).push(key)
}
});
});
我希望循环完成后,categories 会相应更新。但是,当我尝试 console.log categories 时,地图还没有更新。
【问题讨论】:
标签: immutable.js