gpt4 book ai didi

javascript - 如何检查对象是否不具有函数参数中提到的属性?

转载 作者:太空宇宙 更新时间:2023-11-04 16:19:10 25 4
gpt4 key购买 nike

我想通过将变量传递给参数来检查使用函数该属性是否存在于对象中。我尝试了所有三种最常用的方法来检查对象的现有属性,但我仍然得到输出 undefined .谁能告诉我哪里错了?

 var obj=[
{
"firstName": "James",
"lastName": "Bond"

}];

function propExists(prop)
{
//I tried #1
if(obj.hasOwnProperty(prop)===false)
{
return "Property doesn't exist";
}
//I tried #2
if(!(prop in obj))
{
return "Property doesn't exist";
}
//I tried #3
if("undefined" === typeof(obj[prop]))
{
return "Property doesn't exist";
}
}

console.log(propExists("Date of birth"));

最佳答案

您实际上正在使用对象数组。

因此obj[0]将为您提供第一个对象。

此外,hasOwnProperty 是一个 bool 值,指示对象是否具有指定的属性。因此,您不需要在 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"));

DEMO

关于javascript - 如何检查对象是否不具有函数参数中提到的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40816668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com