[
{
"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上看到的一個問題