I have the following JavaScript object:
var obj = {
"key1" : val,
"key2" : val,
"key3" : val
}
Is there a way to check if a key exists in the array, similar to this?
testArray = jQuery.inArray("key1", obj);
does not work.
Do I have to iterate through the obj like this?
jQuery.each(obj, function(key,val)){}
This question is related to
javascript
jquery
Above answers are good. But this is good too and useful.
!obj['your_key'] // if 'your_key' not in obj the result --> true
It's good for short style of code special in if statements:
if (!obj['your_key']){
// if 'your_key' not exist in obj
console.log('key not in obj');
} else {
// if 'your_key' exist in obj
console.log('key exist in obj');
}
Note: If your key be equal to null or "" your "if" statement will be wrong.
obj = {'a': '', 'b': null, 'd': 'value'}
!obj['a'] // result ---> true
!obj['b'] // result ---> true
!obj['c'] // result ---> true
!obj['d'] // result ---> false
So, best way for checking if a key exists in a obj is:'a' in obj
That's not a jQuery object, it's just an object.
You can use the hasOwnProperty method to check for a key:
if (obj.hasOwnProperty("key1")) {
...
}
var obj = {
"key1" : "k1",
"key2" : "k2",
"key3" : "k3"
};
if ("key1" in obj)
console.log("has key1 in obj");
=========================================================================
To access a child key of another key
var obj = {
"key1": "k1",
"key2": "k2",
"key3": "k3",
"key4": {
"keyF": "kf"
}
};
if ("keyF" in obj.key4)
console.log("has keyF in obj");
map.has(key)
is the latest ECMAScript 2015
way of checking the existance of a key in a map. Refer to this for complete details.
You can try this:
const data = {
name : "Test",
value: 12
}
if("name" in data){
//Found
}
else {
//Not found
}
the simplest way is
const obj = {_x000D_
a: 'value of a',_x000D_
b: 'value of b',_x000D_
c: 'value of c'_x000D_
};_x000D_
_x000D_
if(obj.a){_x000D_
console.log(obj.a);_x000D_
}else{_x000D_
console.log('obj.a does not exist');_x000D_
}
_x000D_
Source: Stackoverflow.com