这是此处的keyMirror包 https://www.npmjs.com/package/keymirror
它将其定义为一个简单的实用程序,用于创建值等于其键的对象
Input: {key1: val1, key2: val2}
Output: {key1: key1, key2: key2}
但为什么我需要这样做?
与此不同,
{OPTION_ONE:1, OPTION_TWO:2, OPTION_THREE:3}
为什么应用程序会发现以下对上述输入的转换有用?
{OPTION_ONE:OPTION_ONE, OPTION_TWO:OPTION_TWO, OPTION_THREE:OPTION_THREE}
答案 0 :(得分:4)
它正在制作一个Enum对象(https://en.wikipedia.org/wiki/Enumerated_type)
你可以这样做,就像你说的{OPTION_ONE:1, OPTION_TWO:2, OPTION_THREE:3}
,它是一个类似的Enum对象,但是如果你想知道值6
是否是枚举值的话呢?您必须遍历所有键并检查所有值。
但是,如果键和值匹配,那么您可以检查对象中是否存在该键以了解该值是否也存在。
var mirror = keyMirror({a: null, b:null});
var someValue = 'd';
var validValue = mirror[someValue] !== undefined;