JavaScript 如何检查空对象
一个对象中存储了一组属性。在对象中,有一个名字和值结合在一起的关联,也被称为 键 和 值对 。
但是,在涉及到小型应用程序时,它不需要外部依赖。使用纯JavaScript是检查对象是否为空的最佳方法。判断对象是否为空是一种基本且频繁的操作,不过有几种方法可以判断对象是否为空。
类型1
借助于JavaScript中的Object.keys(Object)方法:
Object.keys(Object)方法 将返回对象的键,该方法将通过所需的对象传递。通过使用结果的长度属性来检查键的数量。当长度属性返回 0 个键时,对象为空。
语法:
Object.keys(object).length === 0
示例:
<!DOCTYPE html>
<html>
//header section start--------------------
<head>
//title of the webpage-----------
<title>
Using javascript how we can check the empty Object.
</title>
</head>
<body>
<h1 style= "color: blue">
JavaTpoint
</h1>
<b>
Using javascript how we can check the empty Object.
</b>
<p>
If the Object is empty click the button to check it
</p>
<p>this is the required output for an empty object:
<span class="opEmpty"></span>
</p>
<p>this is the required output for non empty Object:
<span class="opNonEmpty"></span>
</p>
<button onclick="checkObject()">
Click here
</button>
<script type= "text/javascript">
function checkObject() {
let emptyObj = {}
let nonEmptyObj = {
title: 'Title 1',
info: 'Sample Info'
}
ans1 = (Object.keys(emptyObj).length === 0)
document.querySelector('.opEmpty').textContent
= ans1;
ans2 = (Object.keys(nonEmptyObj).length === 0)
document.querySelector('.opNonEmpty').textContent
= ans2;
}
</script>
</body>
</html>
输出:
1)点击按钮之前的输出结果:
2)点击按钮后的输出如下:
类型2
使用 Object.hasOwnProperty(key) 进行对象循环:
在循环对象时,创建函数,并使用 Object.hasOwnProperty() 方法 检查对象中是否包含 ‘key’ 属性。如果在循环中找不到键,则该函数将返回 true,表示对象为空。如果遇到任何键,则循环中断,并返回 false。
语法:
function isEmptyObject(object) {
for (var key in Object) {
if (object.hasOwnProperty(key)) {
return false;
}
}
}
示例:
<!DOCTYPE html>
<html>
<head>
<title>
Using javascript how we can check the empty Object.
</title>
</head>
<body>
<h1 style= "color: blue">
JavaTpoint
</h1>
<b>
Using javascript how we can check the empty Object.
</b>
<p>
If the Object is empty click the button to check it
</p>
<p>
this is the required output for an empty object:
<span class="opEmpty"></span>
</p>
<p>
this is the required output for non empty Object
<span class="opNonEmpty"></span>
</p>
<button onclick="checkObject()">
Click here
</button>
<script type= "text/javascript">
function checkObject() {
let emptyObject = {}
let nonEmptyObject = {
title: 'Title 1',
info: 'Sample Info'
}
ans1 = isEmptyObject(emptyObject);
document.querySelector('.opEmpty').textContent
= ans1;
ans2 = isEmptyObject(nonEmptyObject);
document.querySelector('.opNonEmpty').textContent
= ans2;
}
function isEmptyObject(object) {
for (var key in Object) {
if (object.hasOwnProperty(key)) {
return false;
}
}
return true;
}
</script>
</body>
</html>
输出:
1) 点击按钮之前的输出:
2)点击按钮后的输出结果如下: