Skip to content Skip to sidebar Skip to footer

How To Sort Array In Ng-options By Key?

There is such array: month: Array[13]0: 'M'1: 'January'2: 'February'3: 'March'4: 'April'5: 'May'6: 'June'7: 'July'8: 'August'9: 'September'10: 'October'11: 'November'12: 'December'

Solution 1:

In order to use tracking with filters use track by.

Markup

ng-options="key as value for (key, value) in data.month | orderBy:'key' track by key"

Update

This orderBy will never work because you are having literal array. You need to convert this array to JSON like object which would structured like [{id: 0, value: "M"}, {id: 1, value: "January"},......]

HTML

ng-options="item.id as item.value for items in data.month | orderBy:'id'"

Demo Plunkr


Solution 2:

Your missing two ''s. This part, orderBy: key should be orderBy:'key'

Try this:

ng-options="key as value for (key, value) in data.month | orderBy: 'key'"

Solution 3:

To resolve this issue need reformat ng-option like as:

day.id as day.value for day in data.month

And array data.month would be how as told user pankajparkar


Post a Comment for "How To Sort Array In Ng-options By Key?"