onsa
12/17/2016 - 12:07 AM

Extend object prototype to check for object emptyness

Extend object prototype to check for object emptyness

Object.prototype.isEmpty = function(obj) {

	// null and undefined are "empty"
	if (typeof obj === 'undefined' || obj === null) {return true;}

	// Assume if it has a length property with a non-zero value
	// that that property is correct.
	if (obj.length > 0)    {return false;}
	if (obj.length === 0)  {return true;}

	// Otherwise, does it have any properties of its own?
	// Note that this doesn't handle
	// toString and valueOf enumeration bugs in IE < 9
	for (var key in obj) {
		if (hasOwnProperty.call(obj, key)) {return false;}
	}

	return true;
};