地图如何在 Ecmascript 6 中使用对象键工作
How do Maps work in Ecmascript 6 with Object keys?
我一直在研究ES6中即将推出的地图数据结构的规范。它应该很棒,因为任何东西都可以是 Map 中的键,而不仅仅是字符串,但是当我尝试使用一些对象示例时,我无法检索我插入到 Map 中的值。
var _projects = new Map();
_projects.set({}, [...]);
_projects.set({page: 2}, [...]);
_projects.has({page:2})
false
然后我在Mozilla开发人员网站上看到了这个:
键相等基于"同值"算法:考虑 NaN 与 NaN 相同(即使 NaN !== NaN),所有其他值都是 根据 === 运算符的语义被视为相等。
如果是这种情况,那么如果我想根据对象的值而不是其标识来检索对象的值,我有什么选择?
请记住,{x:5} !== {x:5}
是正确的,因为它们是两个不同的对象。
你必须引用它们。
这意味着你不能仅仅因为这是一个新对象而_projects.has({x:5})
。
您必须执行以下操作:
var _projects = new Map();
var obj = {x:5};
_projects.set(obj, [1,2]);
_projects.has(obj) //true;
相关文章:
- 读取在具有IE的工作程序中生成的对象URL
- 我怎样才能让jQuery即使在尚未创建的对象上也能工作
- JSON.stringify没有'在更改的对象上无法按预期工作.如何处理
- 如何让我的正则表达式代码在我的dojo cellWidget对象上工作
- dropable的Over事件是't工作正常,在可拖动对象被拖放到贪婪的可拖动对象上并再次拖动后
- 地图如何在 Ecmascript 6 中使用对象键工作
- 了解 JavaScript 对象实例或工作流
- JavaScript 返回对象未按预期工作
- 如何让、要求和原型协同工作以在 javascript 中制作对象
- 谷歌应用程序脚本-正在尝试使用getUrl.TypeError:在对象工作表中找不到函数getUrl
- 一个对象怎么能像返回自身和另一个对象一样工作
- "键“;jQuery中的对象无法正常工作
- 对象引用的隐式传递是如何工作的
- dojo类对象的工作原理
- app.use(restify.bodyParser())无法工作,因为req对象为空
- 难以理解JavaScript中的基本对象工作
- jquery .after 不对非追加对象工作
- Couchdb _design/doc/_update/push未作为对象工作
- 如何使此CoffeeScript对象工作
- 事件链是如何为多个对象工作的