当前位置: 首页 > 面试题库 >

如何使用保存属性名称的变量检查对象属性是否存在?

米夕
2023-03-14
问题内容

我正在检查对象属性是否存在,该变量包含一个持有问题的属性名称。

var myObj;
myObj.prop = "exists";
var myProp = "p"+"r"+"o"+"p";

if(myObj.myProp){
    alert("yes, i have that property");
};

这是undefined因为它正在寻找myObj.myProp但我要它检查myObj.prop


问题答案:
var myProp = 'prop';
if(myObj.hasOwnProperty(myProp)){
    alert("yes, i have that property");
}

要么

var myProp = 'prop';
if(myProp in myObj){
    alert("yes, i have that property");
}

要么

if('prop' in myObj){
    alert("yes, i have that property");
}

请注意,hasOwnProperty它不会检查继承的属性,而in会。例如,'constructor' in myObj是正确的,但事实myObj.hasOwnProperty('constructor')并非如此。



 类似资料:
  • 我正在检查是否存在一个对象属性,该属性带有一个包含所讨论的属性名的变量。 这是,因为它正在查找,但我希望它检查

  • 问题内容: 我试图检查对象数组中是否存在特定项目(属性值),但找不到任何解决方案。请让我知道,我在这里想念的是什么。 问题答案: 您可以像这样过滤数组: 它将返回匹配闭包中指定条件的元素数组-在上述情况下,它将返回包含所有属性等于1的元素的数组。 由于您需要布尔结果,因此只需执行以下检查: 如果过滤后的数组至少包含一个元素,则为true

  • 问题内容: 我需要动态设置JS对象属性名称。 结果应为: 问题答案:

  • 问题内容: 我正在使用jQuery从DOM中提取项目,并希望使用DOM元素的对象设置属性。 例 如果包含一个元素为“ myId” 的元素,我想拥有一个名为“ myId”的属性。以上给了我。 如何使用JavaScript使用变量来命名对象的属性? 问题答案: 您可以使用以下等效语法:

  • 我有一个Typescript项目,我需要知道变量的值是否在对象的任何属性中。 这就是目标: 这是声明的变量: 以下是我检查它是否存在的步骤: 问题:做三次检查会在其他机器上运行三次 我需要知道的是,如何检查它是否存在,而不需要迭代对象,如果它不存在,只需操作一次

  • 问题内容: 我如何做到这一点: 问题答案: 请改用方括号表示法。 或者,在现代JavaScript中: