var level = 0;//层级从零开始,每调用一次 层级数+1
var forData = function(arr, level) {
level += 1
for(var i = 0; i < arr.length; i++) {
var obj = arr[i];
obj.level = level
if(obj.apprentice) {
forData(obj.apprentice, level)
}
}
}
forData(arr, level)//递归调用
console.log(arr)
var arr = [{name: '猿飞日斩',id: 11,
child: [{
name: '大蛇丸',id: 111,
child: [{name: '药师兜',id: 1111},
{name: '二柱子',id: 1112,
child: [{id: 250,name: '博人'}]
}]
},
{name:'纲手',id:112,
child:[{name:'豚豚',id:1121},{name:'静音',id:1123}]},
{name:'自来也',id:113,
child:[
{name:'小鸣人',id:1131},
{name:'蛤蟆健',id:1133},
{name:'蛤蟆文太',id:1133,
child:[{name:'蛤蟆吉',id:11331}],
}]},
]
},
{name: '四代',id: 22,
child: [{
name: '卡卡西',id: 222,
child: [{name: '樱',id: 2222},
{name: '鸣人',id: 2223,
child:[
{id:22231,name:'向日葵',
child:[
{id:22311,name:'守鹤',
child:[{name:'我爱罗',id:223111}]}],
}]
}]
},
{name: '歹徒',id: 223,
child: [{name: '黑绝',id: 2232},
{name: '白绝',id: 2233}]
},
{name: '琳',id: 224}
]
}
]
var level = 0; //层级从零开始,每调用一次 层级数+1
var forData = function(arr, level) {
level += 1
for (var i = 0; i < arr.length; i++) {
var obj = arr[i];
obj.level = level
if (obj.child) {
forData(obj.child, level)
}
}
}
forData(arr, level) //递归调用
console.log(arr)
数据结构放上了,最近看到评论有人说错了,我重新写了这个数组 ,这是处理后的数据,每一层都加入了level字段,希望有人能指正一下,是我说的和你理解的有什么不同吗