找出所有name='mimi’的项所在坐标
数据:下方代码中提供
附上结果
function validateChild(arr, rst=[], finnalArr) {
rst = rst.slice();
for (let i = 0; i < arr.length; i++) {
let cur = arr[i];
if (cur.group) {
rst.push(i);
validateChild(cur.children, rst, finnalArr);
rst.pop();
} else {
if(cur.name==='mimi') {
rst.push(i);
finnalArr.push(rst.slice());
rst.pop();
}
}
}
}
let arr=[
{name:1},
{name:'2',
group: true,
children: [
{
name:'dd'
},
{
name: 'mimi' // ok 1,1
},
{
name: 'ss',
group: true,
children: [{
name: 'mimi' // ok 1,2,0
}]
}
]
},
{name:'xss'},
{name:'ss',
group:true,
children:[
{name:'rr'},
{name: 34,
group:true,
children:[
{
name:'lk'
},
{
name:'mimi' // ok 3,1,1
}
]
}
]
},{
group: true,
children: [{
name: 'r',
group: true,
children:[
{
name:'mimi' // ok 4,0,0
}
]
},{
name:'cd',
group:true,
children:[
{
name:'k'
}
]
},{
name: 'mimi' // ok 4,2
}]
},
{
name:'mimi' // ok 5
},
{
name: 'rr'
}
];
let resultArr = [];
validateChild(arr, [], resultArr);
console.log(resultArr);