[英]Case Insensitively Sort a Multidimensional PHP Array using array_multisort()
[英]Typescript: how to sort an array, case insensitively?
我试图以不敏感的方式对打字稿中的数组进行排序。 在javascript中,可以用
list.sort(function (a, b) {
return a.toLowerCase().localeCompare(b.toLowerCase());
});
在打字稿中排序看起来像
list.sort((a, b) => {
if (a > b) {
return 1;
}
if (a < b) {
return -1;
}
return 0;
});
从[F,E,D,c,b,a]开始,我希望得到[a,b,c,D,E,F]
javascript排序提供了预期的结果,但打字稿排序返回[D,E,F,a,b,c]。 如何使打字稿排序不区分大小写?
编辑:我不能使用javascript方法的原因是因为在打字稿a和b是布尔值,并且没有,toLowerCase()方法
试试这个排序功能。 基本上,这是对您所拥有财产的重写,但可能会更干净。 它也可以。 编译器需要一个类型。 不管是string
还是在这种情况下any
是。 我已经更新了答案,以更改传入字符串的类型。 它适用于此数组以及键入any
一样容易。
function sortStrings(a: string, b: string) {
a = a.toLowerCase();
b = b.toLowerCase();
return a > b ? 1 : (a < b ? -1 : 0);
}
console.log(['F', 'E', 'D', 'c', 'b', 'a'].sort(sortStrings));
输出:
[ 'a', 'b', 'c', 'D', 'E', 'F' ]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.