【发布时间】:2011-03-26 12:20:01
【问题描述】:
可能重复:
How do I test for an empty Javascript object from JSON?
在 Javascript 中是否有一种简单的方法来检查对象是否没有属性?或者换句话说,一种检查映射/关联数组是否为空的简单方法?例如,假设您有以下内容:
var nothingHere = {};
var somethingHere = {foo: "bar"};
有没有一种简单的方法来判断哪个是“空的”?我唯一能想到的是这样的:
function isEmpty(map) {
var empty = true;
for(var key in map) {
empty = false;
break;
}
return empty;
}
有没有更好的方法(比如原生属性/函数之类的)?
【问题讨论】:
-
@Daniel - 感谢您提供该问题的链接。我尝试在 SO 上搜索,但没有找到任何东西。模组 - 请关闭这个问题。谢谢!
-
由于 hasOwnProperty 调用,我会选择 chryss 的解决方案而不是您的解决方案。如果有任何东西扩展了 Object 原型(许多库都这样做),您的方法将不再返回正确的结果,因为它会读取继承的属性。
-
@Daniel 是的,我也喜欢这个原因。原型似乎以这种方式污染了命名空间。
标签: javascript map associative-array is-empty object-property