Skip to content

Instantly share code, notes, and snippets.

@Jorenm
Created June 14, 2014 01:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Jorenm/6d1a7be9d4d7ce1d9208 to your computer and use it in GitHub Desktop.
Save Jorenm/6d1a7be9d4d7ce1d9208 to your computer and use it in GitHub Desktop.
Angular orderBy filter which will traverse objects.
MyApp.filter 'orderObjectBy', () ->
return (items, fields, reverse) ->
filtered = []
angular.forEach items, (item) ->
filtered.push(item)
filtered.sort (a, b) ->
sifted_item_a = a
sifted_item_b = b
angular.forEach fields, (field) ->
sifted_item_a = sifted_item_a[field]
sifted_item_b = sifted_item_b[field]
return if sifted_item_a > sifted_item_b then 1 else -1
if reverse
filtered.reverse()
return filtered
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment