按角度js排列两列(平均值,时间秒)

时间:2014-05-05 16:47:46

标签: angularjs angularjs-orderby

我尝试使用角度js,列平均值和另一个以秒为单位的时间对两列进行排序,但是未正确排序的秒数。 我目前退回此:

enter image description here

我正在做一些排名。

我的HTML:

<tr ng-repeat="user in ranking | orderBy:['-promedio','tiempo']" >
  <td >{{ user.usuario }}</td>
  <td > {{ user.promedio }} </td>
  <td > {{ user.tiempo}} </td>
</tr>

我的ctrl:

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" } ]; });

哪种解决方法最好?

感谢

1 个答案:

答案 0 :(得分:1)

您已将所有数字存储为字符串(例如"10.5"而非10.5)。因此,AngularJS通过数字的文本表示对您的条目进行排序。将所有数字更改为数据模型中的实际数字:

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"
        }
    ];
});