new Set()
的安全代码可能看起来像:
let items = [];
for (let item of set)
if (isBad(item))
items.push(item);
for (let item of items)
set.delete(item)
我能简化代码为:
for (let item of set)
if (isBad(item))
set.delete(item);
使用 new Map()
的安全代码可能如下:
let keys = [];
for (let [key, val] of map)
if (isBadKey(key) || isBadValue(val))
keys.push(key);
for (let key of keys)
map.delete(key)
我可以简化代码为:
for (let [key, val] of map)
if (isBadKey(key) || isBadValue(val))
map.delete(key)