如何在TypeScript中按键对对象数组进行排序

79

我有一个候选对象,它具有属性

candidateid:number;
name:string;

我希望能够根据name属性对这些对象的数组进行排序。在Angular 2中,我该如何实现这一点?

1个回答

160

它与普通的JavaScript相同。您仍然可以使用箭头函数使其更加简洁。

x.sort((a, b) => a.name < b.name ? -1 : a.name > b.name ? 1 : 0)

或者使用 localeCompare 方法。

x.sort((a, b) => a.name.localeCompare(b.name))

8
可以使用 localeCompare - user663031
localCompare是一个非常优雅和简单的解决方案。 - eddyizm
localeCompare - 一定是英国人写的... 在 Node 中不起作用。 - Jonathan
嵌套的三元运算符可能更加简洁,但是它们更难阅读。 - flyingace
我在Node.js中遇到了Property 'foo' does not exist on type 'object'.ts(2339)的错误。 - Timo
@Jonathan,你知道为什么它在nodejs中不起作用吗?Node和浏览器JS使用相同的JS引擎.. - Timo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接