我尝试使用角度js,列平均值和另一个以秒为单位的时间对两列进行排序,但是未正确排序的秒数。 我目前退回此:
我正在做一些排名。
我的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"
}
];
});
哪种解决方法最好?
感谢
答案 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"
}
];
});