"table": [
{
"label": "设备编号",
"prop": "date",
"fixed":true,
"sort":true,
},
{
"label": "配送信息",
"prop": "shippingInformation",
"children": [
{
"label": "姓名",
"prop": "name",
"fixed":false,
"sort":false,
},
{
"label": "电话",
"prop": "phone",
"fixed":false,
"sort":false,
},
{
"label": "省份",
"prop": "province",
"fixed":false,
"sort":false,
},
{
"label": "城市",
"prop": "city",
"fixed":false,
"sort":false,
},
{
"label": "住址",
"prop": "address",
"fixed":false,
"sort":false,
}
],
}
]
find(obj,obj2,prop){
console.log('传进来的没选中的标签:',prop)
console.log("传进来的不改变筛选数组:",obj)
for(let i;ilength;i++){
console.log('遍历每一项',obj[i])
if(obj[i].prop===prop){
console.log("删除前的table2:",this.table2)
obj2.splice(i,1)//这里出的问题
console.log("删除后的table2:",this.table2)
break
}
if(obj[i].children){
console.log("有小孩")
this.find(obj[i].children,prop)
}
}
},
prop数组
想循环过程中删除,你需要倒序遍历,否则会导致obj元素的位置发生变化,那么有些位置就跳过了没有遍历到
或者把for循环改为while(obj.length>0)
不要变量i,每次取0,删0