请问如何优雅的判断数组存在和数组长度

比如说后端接口返回了一个数组类型数据 前端要判断 (json.array && json.array.length) {} 更极端点可能要判断下类型 想知道有没有什么办法可以比较优雅的解决. 使用的技术栈有Vue TS Lodash

阅读 5.1k
6 个回答

我觉得这就应该变成前后端开发的一种约定俗成。
数组类型的字段,后端无论如何就是应该返回一个数组。

这个要和后端协调好吧,让他返回数据的时候能够准确点,规范点,别动不动就返回个null,让你一脸懵比。

if(
  getType(json) === 'Object'
  && getType(json.array) === 'Array'
  && json.array.length > 0
) {
  // ...
} else {
  // ...
}

// 获取数据类型
function getType (data) {
  return Object.prototype.toString.call(data).slice(8, -1)
}
if(json.array.constructor === Array && json.array.length > 0){
    // do something
}
新手上路,请多包涵

Object.prototype.toString.call(o) === '[object Array]'

if (json && Array.isArray(json.array) && json.array.length) {}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题