orderBy数字角js

use*_*246 5 sql-order-by parsefloat angularjs angularjs-ng-repeat

我有一系列的对象......

var userObjects =[
{userName: bob,
 age: "25",
 gender: "m"
},
{userName: bill,
 age: "15",
 gender: "m"
},
{userName: jen,
 age: "45",
 gender: "f"
},
]
Run Code Online (Sandbox Code Playgroud)

现在我在我的HTML中有一个ng-repeat来迭代这个对象数组.我希望它按年龄排序:

<tr ng-repeat="user in userObjects | orderBy:-age">
Run Code Online (Sandbox Code Playgroud)

在我的JS中,我将我的年龄转换为汉堡......

data.forEach(function(user){
   user.age= parseFloat(user.age);
}
Run Code Online (Sandbox Code Playgroud)

Angular不会按年龄排序,我希望看到......

bill, 15
bob, 25
jen, 45
Run Code Online (Sandbox Code Playgroud)

但相反,他们到处都是.我究竟做错了什么?

谢谢!

XrX*_*rXr 9

尝试-age用单引号括起来,比如'-age'


Osc*_*bal 7

没有必要在JS中将字符串转换为数字.

使用过滤器使其成为纯角形:

| 排序依据:" - 1*age'`


小智 5

以下将'age'转换为数字并按升序排序.

| orderBy : 'age/1'