javascript - 测试 JavaScript 关联数组中是否存在枚举值

标签 javascript

我使用以下语法在 JavaScript 中构建了一个“枚举”:

MyEnum = {
    MY_VAL_1 : { name: "Value 1" },
    MY_VAL_2 : { name: "Value 2" },
    MY_VAL_3 : { name: "Value 3" }
};

我想存储一个包含 0 个或多个枚举值的字典,并且我希望能够测试字典中是否存在任何特定值。我还想在下拉列表中显示不在字典中的值,以及在另一个下拉列表中显示字典中的值,并具有允许用户使用这些下拉列表向字典添加或删除值的按钮。

我可以使下拉菜单正常工作,但我无法测试“for (x in MyEnum)” block 之外的字典中是否存在。如果我使用:

list[MyEnum.MY_VAL_1]

我总是得到错误(我猜是因为这些项目是在没有 MyEnum 命名空间的情况下存储的?)。如果我尝试:

list[MY_VAL_1]

我刚刚收到一个 Uncaught ReferenceError 。

我怎样才能让它发挥作用,或者有更好的方法吗?

这是我迄今为止所做的 jsFiddle:http://jsfiddle.net/jKfbh/3/

最佳答案

MyEnum.MY_VAL_1 返回您指定的对象,{ name: "Value 1"}

要测试某个值是否在您的“列表”(实际上是一个对象或字典)中,您应该使用以下代码:

if (list["MY_VAL_1"]) {
    alert('val 1 is in list');
}

关于javascript - 测试 JavaScript 关联数组中是否存在枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8876699/

相关文章:

Javascript 变量 & ajax ;与 JsonForm。将 .jsonForm() 与变量一起使用

javascript - 通过循环和数组减少 If 语句

javascript - 如何在div(包括iframe)上处理onclick事件?

javascript - 其他语言中是否有类似的 "undefined"概念?

javascript - 以编程方式在 xterm js 中插入 Enter

javascript - 无法读取未定义的属性

javascript旋转翻译函数

php - 在网页执行之前创建强制选择弹出窗口

javascript - 获取带有 cookie 的 Accordion 以记住链接状态

javascript - 在videojs中,如何解除videojs设置的键盘快捷键的绑定(bind)?