AngularJS - Filter example

AngularJS - Filter example - making sure angular do not sort object by key value

by seefeld

HTML

<script src="http://code.angularjs.org/1.0.0/angular-1.0.0.min.js"></script>
FIXED
<div ng-app="myApp">
    <div ng-controller="mainCtrl">
       <div ng-repeat="key in data | keys" ng-init="value = data[key]">
           <pre>
               key: {{key}}
               value: {{value}}
           </pre>           
       </div>
    
        NORMAL
        <div ng-repeat="(key, value) in data">
            <pre>
                key: {{key}}
                value: {{value}}
            </pre>      
        </div>
    </div>
</div>

JavaScript

angular.module('myApp', ['myFilters']);

angular.module('myFilters', [])
  .filter('keys', function() {
    return function(input) {
      if (!input) {
        return [];
      }
      return Object.keys(input);
    }
  });

function mainCtrl($scope) {
    $scope.data = {
        'key4': 'data4',
        'key1': 'data1',
        'key3': 'data3',
        'key2': 'data2',
        'key5': 'data5'
    };
}