angularjs ng-repeat ordering string arrays in nume

2019-02-11 03:50发布

问题:

I have a list of post with ids like 1,2,3,4,5,6,7,8,9,10,11,12 (json format) The ids are of type String. But I would like to order it according to its numerical order Normal orderBy:'fiche.id' the list is displayed as below. 1,10,11,12,2,3,4,5,6,7,8,9

I would like the output to be of order - 1,2,3,4,5,6,7,8,9,10,11,12

回答1:

I guess your ids are strings. A simple solution would be use a no. operation inside order by. So instead ofr orderBy:'id' just use orderBy:'id*1' this will consider the id as no. and sort it according to the numerical order.

This is all you need - <div ng-repeat="fiche in fiches | orderBy:'id*1'">{{fiche.id}}</div>

Demo: http://plnkr.co/edit/MSrPTZQP49F7Nzwhv6ef?p=preview



回答2:

Ideally it should Print the correct list in ng-repeat using order-by. I am adding a fiddle example with the same.Its a basic example. Hope it helps

>  http://jsfiddle.net/L45cE/