Improve this Doc

# Error: orderBy:notarray
Value is not array-like

    Expected array but received: {0}

## Description

This error occurs when orderBy is not passed an array-like value:

    <div ng-repeat="(key, value) in myObj | orderBy:someProp">
      {{ key }} : {{ value }}
    </div>

`orderBy` must be used with an array-like value so a subset of items can be returned. The array can be initialized asynchronously and therefore `null` or `undefined` won't throw this error.

To use `orderBy` to order the properties of an object, you can create your own array based on that object:

    angular.module('aModule', [])
    .controller('aController', function($scope) {
      var myObj = {
        one: {id: 1, name: 'Some thing'},
        two: {id: 2, name: 'Another thing'},
        three: {id: 3, name: 'A third thing'}
      };

      $scope.arrFromMyObj = Object.keys(myObj).map(function(key) {
        return myObj[key];
      });
    });

That can be used as:

    <label>
      Order by:
      <select ng-model="orderProp" ng-options="prop for prop in ['id', 'name']"></select>
    </label>
    <div ng-repeat="item in arrFromMyObj | orderBy:orderProp">
      [{{ item.id }}] {{ item.name }}
    </div>

You could as well convert the object to an array using a filter such as toArrayFilter:

    <label>
      Order by:
      <select ng-model="orderProp" ng-options="prop for prop in ['id', 'name']"></select>
    </label>
    <div ng-repeat="item in myObj | toArray:false | orderBy:orderProp">
      [{{ item.id }}] {{ item.name }}
    </div>