javascript - Map.prototype.has() 不使用数组作为键?

标签 javascript arrays ecmascript-6

如何使 Map.has() 与数组一起使用?

为什么这个例子输出假?

let test = new Map();
test.set(["a", "b"], "hi");

console.log(test.has(["a", "b"]));

最佳答案

它不起作用,因为您的两个数组没有引用同一个对象。数组内容相同,但数组本身不同。

如果您使用相同的对象来设置和检索值,它将起作用:

let test = new Map();
let key = ["a", "b"];

test.set(key, "hi");

console.log(test.has(key)); // true

关于javascript - Map.prototype.has() 不使用数组作为键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57990721/

相关文章:

javascript - 我唯一知道如何使用 javascript 的是使用 alert()。还有其他方法可以帮助调试 javascript 吗?

python - 将数组范围作为参数传递给函数?

javascript - 为什么 Array.prototype.find() polyfill 比 ES6 实现慢?

javascript - ES 6 类 - Mixin

javascript - vue.js 将数据从父单文件组件传递给子组件

javascript - 如何从浏览器安装脚本到手机并运行?

javascript - 使用循环检查的单选按钮中的对象填充数组每次都会给出相同的值

javascript - 在Screeps中,是否以允许写入CPU极限健壮代码的方式实现CPU极限?

c# - 如何在数组中写入第一个负数?

npm - 使用 es6 样式导入导入 npm 模块而无需转译?