如何在javascript中检查对象中是否存在密钥

How to check if a key exists in an object in javascript

本问题已经有最佳答案,请猛点这里访问。

我有以下对象文本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
  'key1':
  {
    id: 'rr323',
    d: undefined,
    x: 560,
    y: 150
  },
  'key2':
  {
    id: 'rr231',
    d: undefined,
    x: 860,
    y: 90
  }
}

我想实现一个if语句,如下所示:

1
2
3
if(key DOES NOT exist in object){  
//perform certain function
}

我尝试了以下方法:

1
2
3
4
var key = key1;
if(!(key in global_move_obj)){
 // function
}

但当它应该返回false时,它总是返回真值。


使用hasOwnProperty呼叫

1
2
3
if (!obj.hasOwnProperty(key)) {

}

https://developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/object/hasownProperty


你可以这样做:

1
2
3
4
5
6
7
8
var key = 'key1';
if (!('key1' in obj)) {
    ....
}
// or
if (!(key in obj)) {

}