在调用后端接口时,由于后端接口的不规范统一,接口最外层在没有数据时返回的是空数组(其实更想要的是空json对象,接口返回的data数据应该统一返回json对象,便于扩展),而在有数据时返回的是json对象,所以在接收到后端返回的接口时就需要首先判断返回的数据是对象还是数组,这里提供一些方法
方法一(推荐):
//判断是否为数组
function isArray(obj) {
return obj instanceof Array;
}
//判断是否为对象
//注:这里的对象仅仅是指json对象,形如{"name":"itbsl", "age":24}这种,并不指只广义上的js对象,因为[1, 2]在js中也算是对象,这里只把它当数组
function isObject(obj) {
if (!(obj instanceof Array) && (obj instanceof Object)) {
return true;
}
return false;
}
方法二:
//判断是否是数组
function isArray(obj) {
return Object.prototype.toString.call(obj) == '[object Array]';
}
//判断是否是对象
function isObject(obj) {
return Object.prototype.toString.call(obj) == '[object Object]';
}