如何在 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