gon*_*250 17 arrays typescript
我想排序string[]在递减的方式.到目前为止,我所做的是以下代码:
let values = ["Saab", "Volvo", "BMW"]; // example
values.sort();
values.reverse();
Run Code Online (Sandbox Code Playgroud)
它正在工作,但我想弄清楚是否有更好的方法来做到这一点.
Tho*_*hom 38
您需要创建一个比较函数并将其作为sort函数的参数传递:
values.sort((one, two) => (one > two ? -1 : 1));
Run Code Online (Sandbox Code Playgroud)
最新的答案是您可以利用String.prototype.localCompare()获得数字比较值
简单的例子:
let values = ["Saab", "Volvo", "BMW"];
values.sort((a, b) => b.localeCompare(a))
Run Code Online (Sandbox Code Playgroud)
这也不会导致TypeScript警告,因为输出的localCompare是数字
可以在这里查看更多信息和其他函数参数https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare
使用以下代码按升序和降序对 Array 进行排序。
const ascending: any= values.sort((a,b) => (a > b ? 1 : -1));
const descending: any= values.sort((a,b) => (a > b ? -1 : 1))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30146 次 |
| 最近记录: |