假设我宣布
var ad = {};
如何检查该对象是否包含用户定义的属性?
假设我宣布
var ad = {};
如何检查该对象是否包含用户定义的属性?
当前回答
如果你愿意使用lodash,你可以使用some方法。
_.some(obj) // returns true or false
请看这个jsbin的小例子
其他回答
当确定对象是用户定义的对象时,确定UDO是否为空的最简单的方法是以下代码:
isEmpty=
/*b.b Troy III p.a.e*/
function(x,p){for(p in x)return!1;return!0};
尽管这种方法(本质上)是一种演绎方法,-它是最快的,而且可能是最快的。
a={};
isEmpty(a) >> true
a.b=1
isEmpty(a) >> false
注: 不要在浏览器定义的对象上使用它。
如果你愿意使用lodash,你可以使用some方法。
_.some(obj) // returns true or false
请看这个jsbin的小例子
你可以使用内置的Object。方法获取对象上的键列表并测试其长度。
var x = {};
// some code where value of x changes and than you want to check whether it is null or some object with values
if(Object.keys(x).length){
// Your code here if x has some properties
}
如果你使用的是underscore.js,那么你可以使用_。isEmpty功能:
var obj = {};
var emptyObject = _.isEmpty(obj);
很晚的回答,但这就是你处理原型的方法。
Array.prototype.Any = function(func) {
return this.some(func || function(x) { return x });
}
Object.prototype.IsAny = function() {
return Object.keys(this).Any();
}