我有一个数组,var st = { "itema":{...},"itemb":[{"id":"s01","cd":"c01","dd":"d01",....}{"id":"s02","cd":"c02","dd":"d02",....}]}
如何检查st是否为空?
答案 0 :(得分:1)
您可以使用Object.getOwnPropertyNames()
查看是否有任何对象属性:
if (Object.getOwnPropertyNames(st).length === 0) {
// no properties
}
现在,如果是属性,则由您自行决定具有值为undefined
或null
的属性的对象是否为“空”。 / p>
另一种可能更接近反映“空”概念的方法是将对象字符串化为JSON:
var __EMPTY = JSON.stringify({});
// ...
if (JSON.stringify(st) === __EMPTY) {
// ...
}
如果您的对象在常见情况下可能相对较大,那么当然不是最有效的事情。
“空对象”的概念在JavaScript中确实不是很自然,至少在我的经验中是这样。