使用场景: 有的时候后端接口要求的字段不是每个都是必传,但是有些情况下有些字段需要,有些又不需要,为了使用同一个传值对象,就可以使用空值过滤来去掉没有属性值的字段。
/**
* 过滤对象中值为空的属性
* @param {Object} oriObj 原始对象
* @returns {Object} 过滤后的对象
*/
function filterEmptyValues(oriObj) {
return Object.fromEntries(
Object.entries(oriObj)
.filter(
([key, value]) => value !== '' && value !== null && value !== undefined
)
)
}
示例:
const obj = {
name: '张东',
age: 18,
email: null,
hobby: undefined,
gender: '男',
number: 1234567890,
address: '',
}
const filteredObj = filterEmptyValues(obj)
console.log(filteredObj)
输出结果: