js 对象null 或者 'null' 值处理(去除null值)

转载  https://blog.csdn.net/Baby_lucy/article/details/105179360

js 对象null 或者 'null' 值处理(去除null值)

/**
 *  data 需要传入的去除null值的对象或者值
 *  defaultStr 将null值转为该字符串, 不传默认为 空字符串 ''
 */
function removeNull(data, defaultStr = '') {
    // 普通数据类型
    if (typeof data != 'object' || data == null) {
        if ((data == null || data == 'null')) {
            return defaultStr;
        } else {
            return data;
        }
    }
    // 引用数据类型
    for (const v in data) {
        if (data[v] == null || data[v] == 'null') {
            data[v] = defaultStr;
        }
        if (typeof data[v] == 'object') {
            removeNull(data[v])
        }
    }
}

 
// 测试数据
const data = {
    aa: null,
    bb: 'bb',
    cc: 'null',
    dd: {
        dd1: 'dd1',
        dd2: null,
        dd3: 'null'
    },
    ee: [{
        ee: 'null',
        ff: ['null', {
            ff1: {
                ff2: null
            }
        }]
    }, null]
}
 
// 如果是object, 因为是引用传递, 我没有将data return回来, 调用方法之后该data已经去除完成 
removeNull(data)
console.log(data)

  

 

posted @ 2022-09-27 10:56  隰荷华  阅读(924)  评论(0编辑  收藏  举报