在調用后端接口時,由於后端接口的不規范統一,接口最外層在沒有數據時返回的是空數組(其實更想要的是空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]';
}