这里引用了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
}