如何在 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 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告