node.js - facebook库的keyMirror Node 包部分有什么用?

标签 node.js facebook reactjs

这是在这里找到的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}

最佳答案

它正在创建一个枚举对象 ( 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;

关于node.js - facebook库的keyMirror Node 包部分有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30900983/

相关文章:

javascript - React-redux 和 Redux-Thunk 中从 API 获取数据的问题

node.js - 未收到 Socket.io 事件(nginx 反向代理,服务器到客户端)

javascript - 一个客户端的 Redis WATCH MULTI EXEC

facebook - 像 facebook 一样刷新窗口

reactjs - 使用 React.Node 时流类型错误

javascript - TinyMCE 自托管 React

node.js - npm - 设置项目特定的默认前缀/路径

mongodb - Node -mongodb- native : storing references to IDs

ios - 在 FBSDKApplicationDelegate 类中获取错误

android - 将 GraphResponse 转换为 json 响应