在调用后端接口时,因为后端接口的不规范统一,接口最外层在没有数据时返回的是空数组(其实更想要的是空json对象,接口返回的data数据应该统一返回json对象,便于扩展),而在有数据时返回的是json对象,因此在接收到后端返回的接口时就须要首先判断返回的数据是对象仍是数组,这里提供一些方法
方法一(推荐):javascript
//判断是否为数组 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; }
方法二:java
//判断是不是数组 function isArray(obj) { return Object.prototype.toString.call(obj) == '[object Array]'; } //判断是不是对象 function isObject(obj) { return Object.prototype.toString.call(obj) == '[object Object]'; }