You have stored all numbers as strings (e.g. "10.5"
instead of just 10.5
). Therefore AngularJS sorts your entries by the textual representation of the numbers. Change all numbers to actual numbers in your data model:
EncuestApp.controller('ResultadoCtrl', function ($scope) {
$scope.ranking =[
{
"id": 5,
"tiempo": 15.737,
"promedio": 0.4,
"usuario": "rfmartinez"
},
{
"id": 6,
"tiempo": 35.694,
"promedio": 0.8,
"usuario": "mm"
},
{
"id": 7,
"tiempo": 303.328,
"promedio": 0.8,
"usuario": "mn"
},
{
"id": 8,
"tiempo": 40.327,
"promedio": 0.8,
"usuario": "mnn"
}
];
});