如何检查Javascript对象是否具有给定键的值?

Jér*_*nge 18 javascript dictionary key

可能重复:
如何查看对象在Javascript中是否具有属性?

我有一个Javascript对象定义如下:

var mmap = new Object();

mmap['Q'] = 1;
mmap['Z'] = 0;
mmap['L'] = 7;
...
Run Code Online (Sandbox Code Playgroud)

如何检查此映射是否具有给定键的值(例如"X")?是否.hasOwnProperty()进入游戏?

Ken*_*rey 46

if ('X' in mmap)
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

是一个关于JSFiddle的例子.

hasOwnProperty也是有效的,但使用in更轻松.唯一的区别是in返回原型属性,而hasOwnProperty不是.


Mik*_*sen 9

您可以使用:

(mmap['X'] === undefined)
Run Code Online (Sandbox Code Playgroud)

小提琴:http://jsfiddle.net/eDTrY/

  • `{x:undefined} .x === undefined`是真的 (2认同)
  • 有效点,更不用说一些白痴重新定义*未定义* (2认同)