我无法进入root-> countries-> states-> citys-> zones-> campus。我只进入根国家。请帮助我完成此操作。
这是代码段,我已经用一种基本的代码方式尝试过。请帮助我完成此操作。
function getLocationsTree(locations,cb) {
var rootObj = {};
var cities = [];
var rootObj = _.where(locations, {'locationTypeId': 10000})[0];
var countries = _.where(locations, {locationTypeId: 10028,
parentId:rootObj.id.toString()});
var i = 0;
//var countriesData = [];
_.each(countries, function(country, index){
i++;
var states = _.where(locations, {locationTypeId: 10029, parentId:country.id.toString()});
_.each(states, function(state, index){
cities = _.where(locations, {locationTypeId: 10030, parentId:state.id.toString()});
//console.log("cities", cities);
_.each(cities, function(city, index){
console.log({locationTypeId: 10031, parentId:city.id.toString()});
var zones = _.where(locations, {locationTypeId: 10031, parentId:city.id.toString()});
console.log("zones", zones);
if(zones.length > 0 ){
_.each(zones, function(zone, index){
var campuses = _.where(locations, {locationTypeId: 10032, parentId:zone.id.toString()});
console.log("campus length", campuses.length);
if(campuses.length > 0){
zone.children = campuses;
}
});
city.children = zones;
}
});
console.log("cities",cities);
states.children = cities;
});
country.children = states;
if (i == countries.length){
rootObj.children = countries;
rootObj.childrenCount = countries.length;
cb(null, rootObj);
}
});