1. 程式人生 > >過濾物件中的空內容

過濾物件中的空內容

這裡引用了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
}