我是Angularjs.的新手。我想更改JSON对象代码的格式,我将其转换为一些新的格式.Below是格式。
$scope.filters={"filters":
[{"filterId":"106","filtername":"Service Line","filterValue":"ADI"},
{"filterId":"107","filtername":"Service Line","filterValue":"L"},
{"filterId":"108","filtername":"Service Line","filterValue":"M"},
{"filterId":"109","filtername":"Location","filterValue":"N"},
{"filterId":"110","filtername":"Band","filterValue":"O"}
]};
我希望使用angularjs将其更改为以下格式。
$scope.filters=[{"filters":
{"ServiceLine":["ADI","L","M"],
"Location":["N"],
"Band":["0"]}
}] ;
任何人都可以在这里指导我吗?
答案 0 :(得分:0)
我同意kachhalimbu你可以使用underscore.js或lodash.js并使用它的map函数将json对象转换为另一种形式。
如果您仍想在不使用其他框架的情况下进行转换,则可以执行以下操作:
var filterObject = { "filters": {} };
angular.forEach($scope.filters.filters, function(filter) {
if(!filterObject.filters[filter.filtername]) {
filterObject.filters[filter.filtername] = [];
}
filterObject.filters[filter.filtername].push(filter.filterValue)
});
filterObject将包含您要使用的格式,之后您可以执行以下操作:
$scope.filters = [];
$scope.filters.push(filterObject);