0
点赞
收藏
分享

微信扫一扫

【JavaScript】自定义函数之去除数组(对象)中空数据

慕容冲_a4b8 2022-04-18 阅读 55
javascript

代码

/**
 * 去除数组(对象)中空数据
 *
 * @param {Object|Array} arr
 *
 * @return {Object|Array}
 */
function distinctArrObj(arr){
    var _data=(typeof arr!="object")? [arr] : arr  //确保参数总是数组
    var _dataJudge = function(val){ // 统一过滤判断
        return val === null || val == '' || val == undefined || JSON.stringify(val) === "{}";
    };
	for ( let i in _data){
        if( typeof i === 'number' || (Number(i) == i) ){
            if(_dataJudge(_data[i])){_data.splice(i, 1);}
        }else{
            if(_dataJudge(_data[i]))delete _data[i];
        }
	}
	return _data;
}

示例测试

var arrData = [
    {}, '123', '', 'test', undefined
]

var objData = {
    test: "123",
    test2: "",
    test3: {}
}


console.log(distinctArrObj(arrData));
// 返回:["123","test"]

console.log(distinctArrObj(objData))
// 返回:{"test":"123"}
举报

相关推荐

0 条评论