代码
/**
* 去除数组(对象)中空数据
*
* @param {Object|Array} arr
*
* @return {Object|Array}
*/
function filterNullValue(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: {}
}
filterNullValue(arrData);
// 返回:["123","test"]
filterNullValue(objData);
// 返回:{"test":"123"}
版权声明:本文为u011159821原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。