我想通过将变量传递给参数来检查使用函数是否该属性存在于对象中。我尝试了所有三种主要使用的方法来检查对象的现有属性,但我仍然得到输出为{ {1}}。谁能告诉我哪里错了?。
undefined
答案 0 :(得分:1)
您实际上正在使用一组对象。
所以obj[0]
会给你第一个对象。
同样hasOwnProperty
是一个布尔值,表示对象是否具有指定的属性。所以你不需要在if
内专门测试它是真还是假
条件
var obj = [{
"firstName": "James",
"lastName": "Bond"
}];
function propExists(prop) {
if (obj[0].hasOwnProperty(prop)) { // will be evaluated as true/false
return "Propert exist";
} else {
return "Property doesn't exist";
}
}
console.log(propExists("Date of birth"));
答案 1 :(得分:0)
从obj中删除方括号,使其成为数组
var obj = {
"firstName": "James",
"lastName": "Bond"
};