1、utils index.js
filterParams(obj) {
const keys = Object.keys(obj)
keys.forEach(key => {
const value = obj[key]
if (this.isObject(value)) this.filterParams(value) // 如果是对象再调一遍该方法
if (this.isEmpty(value)) delete obj[key]
if (this.isEmptyObject(value)) delete obj[key]
if (this.isEmptyArray(value)) delete obj[key]
})
return obj
},
isEmpty(input) { // 是否为空字符串
return [undefined, null, ''].includes(input)
},
isEmptyObject(input) { // 是否为空对象
return input !== null && (!Array.isArray(input)) && typeof input === 'object' && JSON.stringify(input) === '{}'
},
isEmptyArray(input) { // 是否为空数组
return input !== null && Array.isArray(input) && input.length === 0
},
isObject(input) { // 是否为对象
return input !== null && (!Array.isArray(input)) && typeof input === 'object'
}
2、main.js引入
import util from '@/utils/index'
Vue.prototype.$util = util
3、使用
this.$util.filterParams(this.params)