在 AJAX 请求之后,有时我的应用程序可能会返回一个空对象,例如:
var a = {};
如何检查是否是这种情况?
网友回答:
如果 ECMAScript 5 支持可用,您可以使用:Object.keys()
function isEmpty(obj) {
return Object.keys(obj).length === 0;
}
对于 ES3 及更早版本,没有简单的方法可以做到这一点。您必须显式遍历属性:
function isEmpty(obj) {
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
return false;
}
return true;
}
网友回答:
ECMA 5+:
// because Object.keys(new Date()).length === 0;
// we have to do some additional check
obj // ? null and undefined check
&& Object.keys(obj).length === 0
&& Object.getPrototypeOf(obj) === Object.prototype
但请注意,这将创建一个不必要的数组(返回值 )。keys
ECMA 5 之前:
function isEmpty(obj) {
for(var prop in obj) {
if(Object.prototype.hasOwnProperty.call(obj, prop)) {
return false;
}
}
return JSON.stringify(obj) === JSON.stringify({});
}
j查询:
jQuery.isEmptyObject({}); // true
洛达什:
_.isEmpty({}); // true
强调:
_.isEmpty({}); // true
胡克
Hoek.deepEqual({}, {}); // true
扩展
Ext.Object.isEmpty({}); // true
AngularJS (Version 1)
angular.equals({}, {}); // true
拉姆达
R.isEmpty({}); // true
网友回答:
对于那些有同样问题但使用jQuery的人,你可以使用jQuery.isEmptyObject。
模板简介:该模板名称为【在 AJAX 请求之后,有时可能会返回一个空对象,例如:var a = {};
如何检查是否是这种情况?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【JavaScript】栏目查找您需要的精美模板。