如何在JavaScript中执行字符串的不区分大小写的排序数组?
2022-08-30 00:08:07
我有一个字符串数组,我需要在JavaScript中排序,但以不区分大小写的方式。如何执行此操作?
我有一个字符串数组,我需要在JavaScript中排序,但以不区分大小写的方式。如何执行此操作?
在(几乎:)单行本
["Foo", "bar"].sort(function (a, b) {
return a.toLowerCase().localeCompare(b.toLowerCase());
});
这导致
[ 'bar', 'Foo' ]
而
["Foo", "bar"].sort();
结果
[ 'Foo', 'bar' ]
现在是重新讨论这个老问题的时候了。
不应使用依赖于 的解决方案。它们效率低下,在某些语言(例如土耳其语)中根本不起作用。更喜欢这个:toLowerCase
['Foo', 'bar'].sort((a, b) => a.localeCompare(b, undefined, {sensitivity: 'base'}))
查看浏览器兼容性文档以及有关该选项的所有信息。sensitivity