2 回答
TA贡献1895条经验 获得超7个赞
这需求改的和之前差的很大哦...
这个答案是应之前的需求:返回所有admin,并且删除children中admin。
getRoles(getData());
function getRoles(data, role = 'admin') {
let resArr = [];
main(data);
return resArr;
function main(data) {
if (data && data.length) {
data.forEach((d, i) => {
if (d.role === 'admin') resArr.push(data.splice(i, 1));
if (d.children && d.children.length) main(d.children);
});
}
}
}
function getData() {
return [{
role: 'other',
children: [{
role: 'admin',
index: '1'
}, {
role: 'other'
}]
},{
role: 'admin',
index: '2',
children: [{
role: 'other',
children: [{
role: 'admin',
index: '3'
}]
}]
}];
}
TA贡献1752条经验 获得超4个赞
let arr = [{
role: 'admin',
left: 'fzz',
children: [{
role: 'other',
right: 'pdd',
children: [{
role: 'admin'
}]
}]
}]
arr.find(function(x){
return x.role ==='admin';
})
添加回答
举报