vue实现去空
Vue 实现去空的方法
在 Vue 中去除字符串或数组中的空值可以通过多种方式实现,具体取决于数据类型和需求。
字符串去空
使用 JavaScript 的 trim() 方法可以去除字符串两端的空格:
this.text = this.text.trim()
如果需要去除字符串中间的空格,可以使用正则表达式:

this.text = this.text.replace(/\s+/g, '')
数组去空
对于数组中的空值(如空字符串、null、undefined),可以使用 filter() 方法:
this.array = this.array.filter(item => item && item.trim())
表单输入去空
在表单输入时实时去除空格,可以使用 v-model 修饰符:

<input v-model.trim="inputText" />
或者通过监听输入事件:
methods: {
removeSpaces() {
this.inputText = this.inputText.replace(/\s+/g, '')
}
}
对象属性去空
遍历对象属性并去除空值:
for (let key in this.obj) {
if (this.obj[key] === '' || this.obj[key] == null) {
delete this.obj[key]
}
}
深度去空
对于嵌套对象或数组,可以使用递归函数:
function deepRemoveEmpty(obj) {
if (Array.isArray(obj)) {
return obj.filter(v => v != null).map(v => deepRemoveEmpty(v))
} else if (typeof obj === 'object') {
return Object.fromEntries(
Object.entries(obj)
.filter(([_, v]) => v != null)
.map(([k, v]) => [k, deepRemoveEmpty(v)])
)
}
return obj
}
这些方法可以根据具体需求组合使用,实现 Vue 应用中的数据去空操作。






