如何在 JavaScript 中檢查物件是否為空
    
    Rupam Yadav
    2023年10月12日
    
    JavaScript
    JavaScript Object
    
- 
          
            在 JavaScript 中使用 hasOwnProperty()來檢查一個物件是否為空
- 
          
            使用 Object.key()檢查 JavaScript 中物件是否為空
- 
          
            使用 Underscore.js庫來檢查物件是否為空
 
物件在 JavaScript 中扮演著重要的角色,因為它們允許我們結構化、維護和傳輸資料;然而,有些時候我們得到的物件是空的。在這篇文章中,我們將演示幾種方法,告訴你如何在 JavaScript 中檢查物件是否為空。
在 JavaScript 中使用 hasOwnProperty() 來檢查一個物件是否為空
    
我們可以檢查物件中是否存在指定的屬性。在下面的例子中,我們正在檢查兩個物件是否存在 prop 屬性。isObjEmpty() 函式在物件為空時返回 boolean 命令。
如果指定的屬性存在,該函式返回 False;否則返回 True。注意,這個方法只有在不支援 ECMAScript 5 的情況下才有用,如果有 ECMAScript 5,請參考下面的過程。
const obj1 = {
  one: 1,
  two: 2,
  three: 3
};
const obj2 = {};
console.log('Is Object 1 Empty? : ', isObjEmpty(obj1));
console.log('Is Object 2 Empty? : ', isObjEmpty(obj2));
function isObjEmpty(obj) {
  for (var prop in obj) {
    if (obj.hasOwnProperty(prop)) return false;
  }
  return true;
}
輸出:
Is Object 1 Empty? :  false
Is Object 2 Empty? :  true
使用 Object.key() 檢查 JavaScript 中物件是否為空
在上一個例子中,我們看到了如何在 JavaScript 中檢查物件是否為空;但是,如果我們有 ECMAScript 5 的支援,就會出現不同的結果。
在這個例子中,我們將使用 Object.keys() 命令來檢查物件是否有任何鍵。如果 keys 的長度為零,那麼它就是空的;否則,它就不是空的。
const obj1 = {
  one: 1,
  two: 2,
  three: 3
};
const obj2 = {};
console.log('Is Object 1 Empty? : ', isObjEmpty(obj1));
console.log('Is Object 2 Empty? : ', isObjEmpty(obj2));
function isObjEmpty(obj) {
  return Object.keys(obj).length === 0;
}
輸出:
Is Object 1 Empty? :  false
Is Object 2 Empty? :  true
使用 Underscore.js 庫來檢查物件是否為空
另一個檢查物件中是否沒有資料的簡單方法是使用 Undescore.js 庫;這是一個有幾個有用方法的 JavaScript 庫。其中一個方法是 _.isEmpty(),如果物件為空,則返回 true。
我們可以通過在 <script> 標籤中指定其 URL 來包含該庫。此外,我們可以使用下劃線來訪問它的函式,就像它的名字一樣。
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Empty Object Example</title>
    <script src="https://cdn.jsdelivr.net/npm/underscore@1.11.0/underscore-min.js"></script>
  </head>
  <body>
    <script>
      const obj1 = { one: 1, two: 2, three: 3 };
      const obj2 = {};
      console.log("Is Obj1 Empty? : ", _.isEmpty(obj1));
      console.log("Is Obj2 Empty? : ", _.isEmpty(obj2));
    </script>
  </body>
</html>
輸出:
Is Obj1 Empty? :  false
Is Obj2 Empty? :  true
        Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
    
作者: Rupam Yadav
    Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn