我正在使用我的角度项目中的树组件,我正在尝试循环一个json对象来填充树继承我的代码:
var myData=[{"agence":"CTM","secteur":"Safi","serie":"CZC1448YZN"},{"agence":"CTM","secteur":"Safi","serie":"2UA13817KT"},{"agence":"CTM","secteur":"Safi","serie":"2UA13817KT"},{"agence":"CTM","secteur":"Essaouira","serie":"CZC1221B85"},{"agence":"CTM","secteur":"Essaouira","serie":"CZC1221B85"},{"agence":"Gare Routiere Municipale","secteur":"Essaouira","serie":"CZC145YL3"},{"agence":"Gare Routiere Avenue des FAR CTM","secteur":"Casablanca","serie":"2AU2290Y48"},{"agence":"Gare Routiere Avenue des FAR CTM","secteur":"Casablanca","serie":"2AUD14404X"}];
for(var i=0; i < myData.length; i++) {
// alert('roro '+myData[i].secteur);
treedata_avm = [{
label: myData[i].secteur,
children: [{
label: myData[i].agence,
children: [myData[i].serie]
}]
}];
}
我的问题是,我只获得了json对象中的最后一行{"agence":"Gare Routiere Avenue des FAR CTM","secteur":"Casablanca","serie":"2AUD14404X"}
我如何获得树中显示的所有数据???
答案 0 :(得分:1)
您正在替换 imageView.setController(Fresco.newDraweeControllerBuilder()
.setControllerListener(new ControllerListener<ImageInfo>() {
@Override
public void onSubmit(String id, Object callerContext) {
}
@Override
public void onFinalImageSet(String id, ImageInfo imageInfo, Animatable animatable) {
}
@Override
public void onIntermediateImageSet(String id, ImageInfo imageInfo) {
}
@Override
public void onIntermediateImageFailed(String id, Throwable throwable) {
}
@Override
public void onFailure(String id, Throwable throwable) {
}
@Override
public void onRelease(String id) {
}
}).build());
中的先前值,而不是将新值添加到其中。你可以做的是,定义一个空数组treedata-avm
并通过迭代你正在做的事情将treedata_avm
中的每个对象推入其中。
myData
答案 1 :(得分:0)
var myData=[{"agence":"CTM","secteur":"Safi","serie":"CZC1448YZN"},{"agence":"CTM","secteur":"Safi","serie":"2UA13817KT"},{"agence":"CTM","secteur":"Safi","serie":"2UA13817KT"},{"agence":"CTM","secteur":"Essaouira","serie":"CZC1221B85"},{"agence":"CTM","secteur":"Essaouira","serie":"CZC1221B85"},{"agence":"Gare Routiere Municipale","secteur":"Essaouira","serie":"CZC145YL3"},{"agence":"Gare Routiere Avenue des FAR CTM","secteur":"Casablanca","serie":"2AU2290Y48"},{"agence":"Gare Routiere Avenue des FAR CTM","secteur":"Casablanca","serie":"2AUD14404X"}];
var treedata_avm = [];
for(var i=0; i < myData.length; i++) {
// alert('roro '+myData[i].secteur);
treedata_avm.push({
label: myData[i].secteur,
children: [{
label: myData[i].agence,
children: [myData[i].serie]
})
}];
}
你应该使用数组功能&#39; push&#39;将对象推送到新数组;但不要使用&#39; =&#39;;
答案 2 :(得分:0)
试试这个:
var treedata_avm = [];
for (var i = 0; i < myData.length; i++) {
treedata_avm.push({
label: myData[i].secteur,
children: [{
label: myData[i].agence,
children: [myData[i].serie]
}]
});
}
使用.push()
。会为你工作。
答案 3 :(得分:0)
您还可以使用map函数,该函数功能齐全且不易出错[{3}}
var treedata_avm = myData.map(function(value) {
return {
label: myData[i].secteur,
children: [{
label: myData[i].agence,
children: [myData[i].serie]
}]
}
})