对象空值过滤函数的写法

32 阅读1分钟

使用场景: 有的时候后端接口要求的字段不是每个都是必传,但是有些情况下有些字段需要,有些又不需要,为了使用同一个传值对象,就可以使用空值过滤来去掉没有属性值的字段。

/**
 * 过滤对象中值为空的属性
 * @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)

输出结果: