我有一个数组和一张相互比较的地图。但是我遇到了一个问题,如何检查数组是否得到了地图中的元素(或键)。当密钥不在数组中时,他应该什么都不做。数组应该决定"好吧..我没有那个元素。所以我删除了地图中不再使用的密钥"
这是我的源代码
for (var i = 0; i < array.length; i++) {
// check if map got array element
if (!self.map.has(array[i])) {
self.map.set(array[i]);
}
// right here i need your help
if (array.) {}
}
&#13;
答案 0 :(得分:0)
你应该这样做。找到阵列中不存在的所有键。然后迭代键并删除它们。这对你有用吗?
var keysNotPresentInArray= Array.from(map.keys()).filter(function(i,index){
return myArray.indexOf(i)<0;
});
keysNotPresentInArray.forEach(function(i,index){
map.delete(i);
})