我有一个枚举:
export enum Foo{
AA= 0,
ZZ= 1,
AB= 2,
ER = 5
}
我希望将Bars
作为属性enum
包含foo
的{{1}}以枚举的名称(AA,AB,ER,ZZ)排序,而不是在数值(0,1,2,5)上。
我正在使用lodash来帮助我,但我似乎无法使其正常工作:
const orderedBars = _.orderBy(unorderedBars, 'foo');
答案 0 :(得分:1)
您可以根据字符串值使用localeCompare
来sort
:
unorderedBars.sort((a,b) => Foo[a.foo].localeCompare(Foo[b.foo]))
Demo on Typescript playgorund(单击“运行”)
如果该属性是字符串,并且您想根据数值对其进行排序,则可以sort
像这样:
unorderedBars.sort((a, b) => Foo[a.foo] - Foo[b.foo])