为什么Map.has()对于确实存在的Integer键返回false?

我有一个由几个键:值对组成的映射,键都是整数(然后当然存储为字符串)。

但是,我无法使用Map.prototype.has("1")Map.prototype.has(1)确认地图中存在密钥。我该怎么做?我想使用的Map.prototype.has()方法,以避免整个0就是false问题。

let map = new Map();
map[1] = 2;
console.log(map); //Map { 1: 2 }
console.log(map.has("1")); //false
console.log(map.has(1)); //false

回答

使用Map.prototype.setmap[1] = 2。地图是有自己一套规则的对象,所以你不能像上面那样设置它。在此处了解更多信息。

let map = new Map();
map.set(1,2);
console.log(map); // Map(1) { 1 => 2 }
console.log(map.has("1")); //false
console.log(map.has(1)); //true


以上是为什么Map.has()对于确实存在的Integer键返回false?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>