我有以下JS对象:
var obj={
"j":"jack",
"f":"franck",
"a":"amy",
};
现在我可以写obj[val]
,val
位于j,f,a
,以访问该密钥的值。我想知道它们是否是一个数据结构(在ES6中),它允许我从值中获取密钥(例如,写obj.inverted()["jack"]
以获取j
)。
我知道我可以通过使用underscore
或一个简单的函数来实现它,但我想知道它们是否是ES6中的一些数据结构,它可以为我提供功能框。
答案 0 :(得分:4)
不,没有这样的功能 - 您需要创建一个额外的地图副本,其中键和值会反转。
如果使用ES6,您当然应该使用正确的Map
对象而不是Object
:
var myMap = new Map([
['j', 'jack'],
['f', 'franck'],
['a', 'amy']
]);
var inverse = new Map();
for (let [key, value] of myMap.entries()) {
inverse.set(value, key);
}