gpt4 book ai didi

javascript - 比较和排序多种语言的字符串

转载 作者:行者123 更新时间:2023-11-29 15:31:00 25 4
gpt4 key购买 nike

我需要按字母顺序对 JS 字符串进行排序。在英语中排序非常简单:

sortArr.sort( function ( a , b ) {
return a > b ? 1 : -1;
} );

但是我正在开发的应用程序将被翻译成 i.a.阿拉伯语、中文、德语、俄语和其他一些语言。据我所知,即使对于非 ASCII 字符,结果似乎也不正确。

我根据文档找到了 Intl.Collat​​or().compare:

The Intl.Collator object is a constructor for collators, objects that enable language sensitive string comparison.

但是,Safari 和大多数移动浏览器不支持它。

我可以使用任何其他解决方案吗?

编辑

String.prototype.localeCompare() 但浏览器支持也不够好。

最佳答案

截至 2020 年,大多数现代浏览器现在都支持 Intl.Collat​​or。甚至 IE11 也支持其部分功能(尽管不是全部)。 Intl.Collat​​or 将以您能想到的几乎任何语言进行排序(当然比我能想到的要多),并且有许多选项可用于按重音符号、大写等自定义排序。

请参阅此 Mozilla 文档: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Collator/Collator#Browser_compatibility

这个人提供了一个关于如何使用它的非常好的教程。 https://dev.to/aumayeung/comparing-non-english-strings-with-javascript-collators-57bf

关于javascript - 比较和排序多种语言的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34919550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com