【发布时间】:2015-03-14 19:27:52
【问题描述】:
我一直在研究 ES6 中即将推出的 Map 数据结构的规范。它应该很棒,因为任何东西都可以是 Map 中的键,而不仅仅是字符串,但是当我用一些对象示例尝试它时,我无法检索插入到 Map 中的值。
var _projects = new Map();
_projects.set({}, [...]);
_projects.set({page: 2}, [...]);
_projects.has({page:2})
false
然后我在Mozilla developers 网站上看到了这个:
键相等基于“相同值”算法:考虑 NaN 与 NaN 相同(即使 NaN !== NaN),所有其他值都是 根据 === 运算符的语义认为相等。
如果是这种情况,如果我想根据对象的值而不是身份来检索对象的值,我有什么选择?
【问题讨论】:
-
对象是按身份进行比较,而不是按值。
标签: javascript dictionary ecmascript-6