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