【发布时间】:2015-02-06 02:34:04
【问题描述】:
我一直在 io.js 中试验 ES6 Map 并意识到我无法做到以下几点:
var map = new Map()
map.set( {key:"value"}, "some string");
map.get( {key:"value"} ); // undefined. I want "some string"
这是因为 {key:"value"} === {key:"value"} 为假。
我需要能够将对象用作键,但不需要 ACTUAL 对象来查找值,例如 java HashMap 如何使用哈希码和等于。这可能吗?
【问题讨论】:
-
为什么不使用 JSON.parse({key:"value"}) 作为你的键?
-
如果你准备好使用 Immutable.js,你可以使用
Record作为不可变Map的复杂键。 immutable-js.github.io/immutable-js
标签: javascript ecmascript-6 io.js