【发布时间】:2018-07-04 17:03:22
【问题描述】:
我有一个像这样的 2D 嵌套对象
$scope.analysisDataNew = [
{
"data":{
"row1":{
"col1":{
"subCol1": 10,
"subCol2": 10,
},
"col2":{
"subCol1": 10,
"subCol2": 10,
"subCol3": 10,
},
"col3":{
"subCol1": 10,
},
},
"row2":{
"col1":{
"subCol1": 10,
"subCol2": 10,
},
"col2":{
"subCol1": 10,
"subCol2": 10,
"subCol3": 10,
},
"col3":{
"subCol1": 10,
},
},
}
}
];
我正在尝试用它来为 ng-repeat 创建一个表。
到目前为止我尝试过的是这个
for (var i = 0; i < $scope.analysisDataNew.length; i++) {
// row list
$scope.analysisDataNew[i].xAxis = Object.keys($scope.analysisDataNew[i].data);
// col list
if($scope.analysisDataNew[i].subCol){
var rows = Object.keys($scope.analysisDataNew[i].data);
var cols = $scope.analysisDataNew[i].data[rows[0]];
var colList = [];
for(var j=0; j<Object.keys(cols).length; j++){
colList.push({name: Object.keys(cols)[j]});
colList[j].subcol = [];
for(var k=0; k < Object.keys(cols[Object.keys(cols)[j]]).length; k++){
colList[j].subcol.push(Object.keys(cols[Object.keys(cols)[j]])[k]);
};
};
$scope.analysisDataNew[i].colList = colList;
} else {
$scope.analysisDataNew[i].colList = Object.keys($scope.analysisDataNew[i].data[$scope.analysisDataNew[i].xAxis[0]]);
};
console.log($scope.analysisDataNew[i]);
};
当没有子栏时,我可以轻松打印数据,但问题出在子栏上。
有人可以帮忙吗?
【问题讨论】:
-
你自己尝试过吗?
-
是的,当然我尝试在控制器中使用循环创建我的数组,直到没有子列我很好并且能够在表格和高图中打印数据,但我面临子列的问题
-
你可以发布你已经得到的东西
-
@GauravAggarwal 您可以将对象更改为数组吗?搞定之后就很简单了
-
@mvermand 足够公平......已发布
标签: javascript html angularjs angularjs-ng-repeat