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;
  }

}