如果是网络请求返回的数据可能是object类型,用instanceof判断类型是判断不出来的. 需要转换下数据,给请求返回的数据加上类型
let list = JSONUtil.jsonToArray(PostVideoListDataListItem,JSON.stringify(resp.list))
类型转换代码
static jsonToArray<T>(cls: ClassConstructor<T>, jsonStr: string): Array<T> {
try {
return plainToClass(cls, JSON.parse(jsonStr), { enableImplicitConversion: false, exposeDefaultValues: true }) as Array<T>
} catch (err) {
let error = err as BusinessError;
LogUtil.error(`JSONUtil-jsonToArray-异常 ~ code: ${error.code} -·- message: ${error.message}`);
return []
}
}
这样网络请求返回的数据就有类型了.这个时候再去判断类型,就可以判断.