检查空 JavaScript 对象
使用 JavaScript 时,您可能会遇到应用程序返回空对象的情况,表示为 { } 。确定对象的空性对于正确的数据处理至关重要。本文探讨了测试空 JavaScript 对象的几种方法。
方法 1:for...in Loop 和 Object.hasOwn (ECMA 2022)
此方法利用用于迭代对象属性的 for...in 循环。如果存在任何自己的属性,则表明该对象不为空,返回 false。否则,返回 true。
function isEmpty(obj) { for (const prop in obj) { if (Object.hasOwn(obj, prop)) { return false; } } return true; }
方法 2:Object.keys 和长度
虽然简单,但这种方法效率较低,因为它创建了一个包含所有内容的数组属性名称,复杂度为 O(N)。
function isEmpty(obj) { return Object.keys(obj).length === 0; }
方法 3:类型检查类似 { } 的对象
为了区分空对象 ({ }) 和其他没有自己属性的对象(例如日期),需要进行类型检查:
function isEmptyObject(value) { if (value == null) { return false; // null or undefined } if (typeof value !== 'object') { return false; // boolean, number, string, function, etc. } const proto = Object.getPrototypeOf(value); if (proto !== null && proto !== Object.prototype) { return false; // `Object.create(null)` or other objects with custom prototypes } return isEmpty(value); // check for any own properties }
方法四:使用第三方库
很多流行的JavaScript库提供了检查空对象的函数,例如:
以上是如何有效检查 JavaScript 空对象?的详细内容。更多信息请关注PHP中文网其他相关文章!