//对象为空数据过滤
isEmptyObj(o) {
for(var attr in o) return !1;
return !0;
},
processArray(arr) {
for(var i = arr.length - 1; i >= 0; i--) {
if (arr[i] === null || arr[i] === undefined) arr.splice(i, 1);
else if (typeof arr[i] == "object") this.removeNullItem(arr[i], arr, i);
}
return arr.length == 0;
},
proccessObject(o) {
for(var attr in o) {
if (o[attr] === null || o[attr] === undefined || o[attr] === "") delete o[attr];
else if (typeof o[attr] == "object") {
this.removeNullItem(o[attr]);
if (this.isEmptyObj(o[attr])) delete o[attr];
}
}
},
removeNullItem(o, arr, i) {
var s = {}.toString.call(o);
if (s == "[object Array]") {
if (this.processArray(o) === true) {
//o也是数组,并且删除完子项,从所属数组中删除
if (arr) arr.splice(i, 1);
}
} else if (s == "[object Object]") {
this.proccessObject(o);
if (arr && this.isEmptyObj(o)) arr.splice(i, 1);
}
},
//使用
this.removeNullItem(obj)
vue js 过滤对象中为空的字段
最新推荐文章于 2024-03-04 16:03:24 发布