數組遞歸遍歷有個問題


[
  {
    "id": 35,    "code": "110100",    "name": "北京市",    "type": 1,    "regions": [      {        "id": 373,        "code": "110101",        "name": "東城區",        "type": 2,        "regions": [],        "latitude": 0,        "longitude": 0      },      {        "id": 373,        "code": "110101",        "name": "西城區",        "type": 2,        "regions": [],        "latitude": 0,        "longitude": 0      }],    "latitude": 0,    "longitude": 0  },  {    "id": 36,    "code": "120100",    "name": "天津市",    "type": 1,    "regions": [      {        "id": 389,        "code": "120101",        "name": "和平區",        "type": 2,        "regions": [],        "latitude": 0,        "longitude": 0      }],    "latitude": 0,    "longitude": 0  },  {    "id": 37,    "code": "130100",    "name": "石家庄市",    "type": 1,    "regions": [      {        "id": 405,        "code": "130102",        "name": "長安區",        "type": 2,        "regions": [],        "latitude": 0,        "longitude": 0      }],    "latitude": 0,    "longitude": 0  }]

有一個這樣的數組,我不知道怎么遞歸遍歷返回出成為這樣的數組形式

 

[{
    text:'北京市',   
 value:'北京市',    children:[        {            text:'東城區',    
         value:'東城區'        }    ] },{    text:'北京市',  
 value:'北京市',    children:[        {            text:'東城區',    
         value:'東城區'        },        {          text:'西城區',    
       value:'西城區'        }    ] }]

​請問一下怎么寫這個遞歸的函數?

 

 var newarr = [];
for(var i=0;i<arr.length;i++){
newarr[i] = {
text : arr[i].name,
value : arr[i].name,
childern : [{
text : arr[i].regions[0].name,
value : arr[i].regions[0].name
}]
};
}
console.log(newarr);

整理一下:
function abc(arr) {
var arr1 = [];
for(var i = 0, l = arr.length; i < l; i++) {
arr1[i] = {
text: arr[i].name,
value: arr[i].name,
children: [{
text: arr[i].regions[0].name,
value: arr[i].regions[0].name
}]
}
}
return arr1;
}

var a = abc(arr);
console.log(a)
這是我在:https://segmentfault.com/q/1010000008641909?_ea=1702980上看到的一個問題
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM