我是个新手,正在尝试理解 javascript 中的地图。
我有以下代码。
const topmap = new Map();
const map1 = new Map();
const map2 = new Map();
const set1 = new Set();
map1.set('x','y');
map1.set('a','b');
set1.add(map1);
set1.add(map2);
topmap.set('ID',set1);
console.log(topmap.get('ID').size);
topmap.get('ID').forEach(x => {
if(x.has('x')){x.delete('x')} )
}
)
console.log(topmap.get('ID').size)
任何人都知道为什么两条线的大小都返回 2,即使我在第 18 行删除了一张地图
因为你的
topmap.get('ID').size
代表你的set1
有两张地图。
您只需删除地图的元素而不是地图。