Chave Order by Object em ng-repeat

Como posso encomendar por chave como inteiro?

Eu tenho o seguinte object;

$scope.data = { "0": { data: "ZERO" }, "1": { data: "ONE" }, "2": { data: "TWO" }, "3": { data: "TREE" }, "5": { data: "FIVE" }, "6": { data: "SIX" }, "10":{ data: "TEN" }, "11": { data: "ELEVEN" }, "12": { data: "TWELVE" }, "13": { data: "THIRTEEN" }, "20": { data: "TWENTY"} } 

HTML:

 

A ordem de saída atual é 1,10,11,12,13,14,2,20,3,4,5,6

Mas eu quero 1,2,3,4,5,6,10,11,12,13,14,20

 | orderBy:key 

não trabalhe para mim.

Alguma ideia?

Obrigado!

Uma opção seria usar um filtro intermediário.

PLUNK E Snippet De Código

 var app = angular.module('app', []); app.controller('MainCtrl', function($scope) { $scope.template = { "0": { data: "ZERO" }, "1": { data: "ONE" }, "2": { data: "TWO" }, "3": { data: "TREE" }, "5": { data: "FIVE" }, "6": { data: "SIX" }, "10":{ data: "TEN" }, "11": { data: "ELEVEN" }, "12": { data: "TWELVE" }, "13": { data: "THIRTEEN" }, "20": { data: "TWENTY"} } }); app.filter('toArray', function() { return function(obj) { if (!(obj instanceof Object)) return obj; return _.map(obj, function(val, key) { return Object.defineProperty(val, '$key', {__proto__: null, value: key}); }); }}); 
    
{{key}} : {{value.$key}} : {{value.data}}

Eu acho que se classifica com uma conversão para um array. trocadilho intencional.

 var obj = {"3": {three:3}, 2: {two:2}, "5": {five:5}, 4: {four:4}, 1: {one:1}, 6: {six:6}, 10: {ten:10}, 11:{eleven:11} } $scope.arr = []; for (var o in obj) $scope.arr.push(obj[o]) 
 app.filter('orderObjectBy', [function() { return (filterObj, prop) => { let arr = [] //below is the loadash function you can use for in also _.forEach(filterObj, function(value, key) { arr.push({ key: key, value: value }); }); let sortedArr = _.sortBy(arr, val => val.value[prop]); for (let variableKey in filterObj) { if (filterObj.hasOwnProperty(variableKey)) { delete filterObj[variableKey]; } } for (let data of sortedArr) { filterObj[data.key] = data.value; } return filterObj; } }])