I am trying to find out if the given key exists in array of object. if the value key exists then i want to return true else false.
i giving input of key from text box and then checking if the key exists in array of objects, but i couldn’t get it.
here is what i have tried
code:
var obj = [{
"7364234":"hsjd",
"tom and jerry":"dsjdas",
"mickey mouse":"kfjskdsad",
"popeye the sailor man":"alkdsajd",
"the carribean":"kasjdsjad"
}]
var val = $("input[name='type_ahead_input']").val();
if (obj[val]) {
console.log('exists');
} else {
console.log('does not exist');
}
if i give input as ‘the carribean‘ which exists in array of object, even then its outputting in console as does not exist.
how can i resolve this?
Advertisement
Answer
you can use typeof to check if key exist
if (typeof obj[0][val] !== "undefined" ) {
console.log('exists');
} else {
console.log('does not exist');
}
Note: There is index 0 coz the object that you are checking is an element 0 of the array obj
Here is a fiddle:
var obj = [{
"7364234":"hsjd",
"tom and jerry":"dsjdas",
"mickey mouse":"kfjskdsad",
"popeye the sailor man":"alkdsajd",
"the carribean":"kasjdsjad"
}];
if ( typeof obj[0]["the carribean"] !== 'undefined' ) {
console.log('exists');
} else {
console.log('does not exist');
}As suggested by Cristy below, you can also use obj[0][val] === undefined
You can also:
var obj = [{
"7364234":"hsjd",
"tom and jerry":"dsjdas",
"mickey mouse":"kfjskdsad",
"popeye the sailor man":"alkdsajd",
"the carribean":"kasjdsjad"
}];
var val = "7364234";
if ( val in obj[0] ) {
console.log('exists');
} else {
console.log('does not exist');
}