过滤对象中的空内容

这里引用了underscore.js库里的方法,当然也可以转成别的实现方式,方法如下:

/**
 * [对对象中为空的进行过滤]
 * @param   obj
 * @return   obj
 */
const formatObject = (obj) => {
  _.each(obj, (item, key) => {
    if (!formatField(item)) {
      obj[key] = undefined
    }
  })
  return obj
}

const formatField = (field) => {
  if (_.isString(field) && field) {
    return true
  }

  if (_.isNumber(field) && (field || field == 0)) {
    return true
  }

  if (_.isArray(field) && field.length) {
    return true
  }

  if (_.isObject(field) && !_.isEmpty(field)) {
    field = formatObject(field)
    return true
  }

  return false
}

  

posted @ 2018-10-20 15:40  艾若菲  阅读(458)  评论(0编辑  收藏  举报