1 var arr = [{
2 name: '1',
3 children: [{
4 name: 2,
5 children: []
6 },
7 {
8 name: 3,
9 children: [{
10 name: 4,
11 children: [{
12 name: 5,
13 children: []
14 }]
15 }]
16 },
17 ]
18 }]
19 var newArr = [];
20 var parentName = null;
21 function fn(arr) {
22 for (var i = 0; i < arr.length; i++) {
23 if (arr[i].children.length !== 0) {
24 newArr.push({
25 name: arr[i].name,
26 parentName: parentName
27 })
28 parentName = arr[i].name
29 fn(arr[i].children)
30 } else {
31 newArr.push({
32 name: arr[i].name,
33 parentName: parentName
34 })
35 }
36 }
37 }
38 fn(arr)
39 console.log(newArr);