多维数组转成一维数组
var data=[
{
id: "1325637770210709505", tenantId: "000000", parentId: "0", roleName: "销售Y", sort: 1,
children:[
{id: "1334342397055766529", tenantId: "000000", parentId: "1334341884780253185", roleName: "生产主管",sort: 1,
children:[
{id: "1336214375735832578", tenantId: "000000", parentId: "1334342397055766529", roleName: "生产维修员", sort: 5}
]
},
{id: "1334344475199180801", tenantId: "000000", parentId: "1334341884780253185", roleName: "生产员工", sort: 1,
children:[
{id: "1334344475199180801", tenantId: "000000", parentId: "1334341884780253185", roleName: "生产员工", sort: 3}
]},
]
}
]
var array=[];
function fn(arr) {
arr.forEach(item => {
array.push(item)
if(item.children!=undefined){
fn(item.children)
}
});
}
fn(data)
console.log(array);
function flatten(data) {
let isArray = data instanceof Array;
return isArray ? data.flatMap(item =>__flatten(item)): __flatten(data);
function __flatten(item) {
if (item.children) {
return [...item.children.flatMap(children => __flatten(children)), item];
} else {
return [item]
}
}
}
console.log(flatten(data));