我需要按字母顺序对JS字符串进行排序。用英语排序很容易:
sortArr.sort( function ( a , b ) {
return a > b ? 1 : -1;
} );
但是,我正在使用的应用程序将翻译为阿拉伯文,中文,德文,俄文和其他一些语言。我可以看到,即使对于非ASCII字符,结果似乎也不正确。
我发现Intl.Collator().compare
根据文档:
Intl.Collator对象是整理器的构造函数,该整理器使能语言敏感的字符串比较。
但是,Safari和大多数移动浏览器不支持它。
我可以使用其他解决方案吗?
编辑
有,String.prototype.localeCompare()
但是浏览器支持也不够好。
简短的答案是没有。
每种语言都有其自己的字母顺序。例如,俄语的字母“с”与土耳其语的顺序不同。imo的唯一选择是在可能的情况下使用Collator(支持它的浏览器)。Afaik没有其他可以使用的现成库或对象。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句