递归改变树形结构内部嵌套对象的 key 和 value
废话不多说先上图片
下面这是一张后台返回的树状结构的结果
这个树状结构是正确的 但是我做的有需求 结构里边必须包含name和value 但是这个里边只有一个name 怎么办呐 也不能老麻烦人家去去字段,自己动动手呗
下边是代码
// 定义一个方法
function getTree(data) {
data.value = data.code; // 因为我需要的值跟返回的code是对应的,就直接给data添加了一个value属性 并把code 给它赋值
data.children = data.lowerLeves; // 因为我要的下级key也不对 所以这个 lowerLeves 我也换成了 children
for(var i = 0; i < data.lowerLeves.length; i++) { // 因为树形结构 不确定内部层次到底有几层 所以要在循环里边做回调
// 在回调之前为了严谨起见还要先判断一下这个里边还有没有下级
if(data.lowerLeves[i] && data.lowerLeves[i].lebgth > 0) {
getTree(data.lowerLeves[i])
}
}
}
然后在拿到返回的数据 循环一下在调用这个方法 就可以生成自己想要的结构了
这样就可以了 本人也是菜的一批 写这个也是费了九牛二虎之力
希望大佬们看了以后多多指正