0
Map对象set
方法是为了添加一个新的键/对,或者更新现有的键/对。 See docs。Javascript Map有重复键
我一直在努力弄明白是怎么回事,我的地图已经结束了重复键,当我试图与数据库结果来填充它:
let users = new Map();
function loadUserByName(name) {
db.loadUser({ name }, (err, user) => {
users.set(user.id, user);
});
}
loadUser('george');
users.forEach((item) => { console.log(item.key); });
// Output:
// 57bbfcb47ff30b00db69ae87
loadUser('george');
users.forEach((item) => { console.log(item.key); });
// Output:
// 57bbfcb47ff30b00db69ae87
// 57bbfcb47ff30b00db69ae87
根据https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map:上面的代码可以通过铸造
user.id
作为字符串即固定在Maps中基于“相同值”算法:根据===运算符的语义,键被认为是相等的。 –