需求说明:后端传来的数据结构为树形结构,其中的child字段有空数组的情况, element中el-cascader级联组件children字段为空导致展示已下一级空数据
思路: 循环找到children为空字段(此处实际项目是child字段), 考虑到树形结构中子级可能还会有children字段需用递归处理
源码
delChildren(arr) {
let children = arr
for (let i = children.length; i--; i > 0) {
if (children[i].child) {
if (children[i].child.length) {
this.delChildren(children[i].child)
} else {
delete children[i].child
}
}
}
return arr
}
删除一级数组中字段为空索引元素
场景说明:表格列表中预览图片时滑动查看下一张时后端链接字段为空,导致有空白预览
需求:不展示空白预览图片
思路:找到数组中link为空的索引删除该项,因为是一级数组故不用递归
源码
deleteChildren(arr: any) {
const childs = arr
for (let i = childs.length; i--; i > 0) {
if (childs[i].cr_link.length <= 0) {
childs.splice(i, 1)
}
}
return arr
}