如何在 JavaScript 中检查对象是否为空
Rupam Yadav
2023年10月12日
-
在 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
作者: 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