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

标签 javascript es6-map

我有一个由几个键组成的映射:值对,键都是整数(然后当然存储为字符串)。
但是,我不能使用 Map.prototype.has("1")也不是 Map.prototype.has(1)确认 map 中存在 key 。我该怎么做呢?我想使用 Map.prototype.has()方法以避免整个0false问题。

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.set不是 map[1] = 2 . map 是有自己的一套规则的对象,所以你不能像上面那样设置它。了解更多 here .

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

关于javascript - 为什么 Map.has() 对确实存在的 Integer 键返回 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66663133/

相关文章:

Javascript:根据包含字符串日期的子数组元素对数组进行排序

javascript - 如何: dynamically load google ajax api into chrome extension content script

javascript - React/Flux 和 xhr/路由/缓存

javascript - ES6 代理中意外的设置陷阱行为

javascript - 找不到它未定义的原因

javascript - 无法使简单的 jQuery 工作

javascript - react : How to show message when result is zero in react

javascript - 将具有唯一 id 属性的对象数组转换为 Map

javascript - 在 map 实例上使用 map /过滤器行为