如何在 JavaScript 对象中检查键是否存在?


有几种方法可以查找 JavaScript 对象中是否存在某个键。

假设我们有一个如下所示的“employee”对象。

   var employee = {
      name: "Ranjan",
      age: 25
   }

现在我们需要检查“name”属性是否在 employee 对象中存在。

1) “in” 运算符

我们可以在对象上使用“in”运算符来检查其属性。如果找不到对象的任何实际属性,“in”运算符还会查找继承的属性。

在以下示例中,当检查“toString”是否存在时,“in”运算符会仔细检查对象的属性。一旦确认它不存在,它就会进入对象的基属性。由于“toString”是一个基属性,因此它会显示“true”,如输出所示。

示例

在线演示

<html>
<body>
<script>
   var employee = {
      name: "Ranjan",
      age: 25
   }
   document.write("name" in employee);
   document.write("</br>");
   document.write("salary" in employee);
   document.write("</br>");
   document.write("toString" in employee);
</script>
</body>
</html>

输出

true
false
true


2) hasOwnProperty()

此方法仅仔细检查对象的实际属性,而不是任何类型的继承属性。如果有实际属性,则此方法会根据它们的可用性显示 true 或 false。

在以下示例中,我们还搜索了继承的属性,例如“toString”,因此它会显示 false,如输出所示。

示例

在线演示

<html>
<body>
<script>
   var employee = {
      name: "Ranjan",
      age: 25
   }
   document.write(employee.hasOwnProperty('toString'));
   document.write("</br>");
   document.write(employee.hasOwnProperty('name'));
   document.write("</br>");
   document.write(employee.hasOwnProperty('salary'));
</script>
</body>
</html>

输出

false
true
false

更新于: 2019-07-30

260 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.