Angular: ng-repeat scope - 14410993
http://angularjs.org/
by Chandana Thota
HTML
<div ng-controller="MyCtrl">
<div ng-repeat="companycode in companycodes">
<div>{{companycode.CompanyCode}}</div>
<hr>
</div>
</div>
JavaScript
var myApp = angular.module('myApp', []);
//myApp.directive('myDirective', function() {});
//myApp.factory('myService', function() {});
function MyCtrl($scope) {
$scope.lines = [{
text: 'res1'
}, {
text: 'res2'
}];
CurrentDataFormat = [{
"companycode": "1056",
"locations": [{
"locationname": "North Korea"
}],
"incomeCodes": [{
"incomecodename": "Services"
}]
},
{
"companycode": "1056",
"locations": [{
"locationname": "Korea"
}],
"incomeCodes": [{
"incomecodename": "Services"
}]
}, {
"companycode": "1058",
"locations": [{
"locationname": "Korea1"
}],
"incomeCodes": [{
"incomecodename": "Services1"
}]
}
]
$scope.companycodes = GroupByCompanyCodesData(CurrentDataFormat);
function GroupByCompanyCodesData(CurrentDataFormat) {
var refinedArray = {};
for (i = 0; i < CurrentDataFormat.length; i++) {
refinedArray[CurrentDataFormat[i].companycode] = refinedArray[CurrentDataFormat[i].companycode] ? refinedArray[CurrentDataFormat[i].companycode] : {};
refinedArray[CurrentDataFormat[i].companycode].name = CurrentDataFormat[i].companycode;
refinedArray[CurrentDataFormat[i].companycode].CompanyCodeData = refinedArray[CurrentDataFormat[i].companycode].CompanyCodeData ? refinedArray[CurrentDataFormat[i].companycode].CompanyCodeData : [];
refinedArray[CurrentDataFormat[i].companycode].CompanyCodeData.push({
"locations": CurrentDataFormat[i].locations,
"incomeCodes": CurrentDataFormat[i].incomeCodes
});
}
var ExpectedDataFormat = [];
for (singleCityName in refinedArray) {
ExpectedDataFormat.push({
'CompanyCode': refinedArray[singleCityName].name,
'CompanyCodeData': refinedArray[singleCityName].CompanyCodeData
});
};
return ExpectedDataFormat;
}
}