【发布时间】:2021-04-29 02:20:41
【问题描述】:
我有多种语言的用户名,我必须按 '韩语 → 英语 → 和 unicode 中的其他语言' 顺序对名称进行排序。此外,当它们使用相同的语言时,我还必须根据它们在 unicode 中指定的顺序进行排序。
例如,如果第一个用户名是韩语,第二个用户名是英文,那么第一个用户在第二个用户之前。另一个例子,如果第一个用户名是英文,第二个用户名也是英文,我也必须排序。
我制作了检查它们是否使用特定语言的函数。
isKorean 检查是否为韩语,isEnglish 检查是否为英文,如果两者都不是,则为其他语言。
const isKorean = (str) => {
const regExp = /^[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]*$/;
if (regExp.test(str)) {
return true;
}
return false;
};
const isEnglish = (str) => {
const regExp = /^[a-zA-Z]*$/;
if (regExp.test(str)) {
return true;
}
return false;
};
但是这些都是我的问题。
- 即使我知道用户名使用什么语言,我也不知道如何对用户名进行排序
- 即使用户名使用相同的语言,我也不知道如何对它们进行排序。
所以我的问题是......
- 韩语 → 英语 → 其他语言中的用户名在检查用户使用的语言后如何排序?
-
一旦解决了第一个问题,如何对使用相同语言的用户名进行排序?
- 韩语用户名
- 英文用户名
- 其他语言的用户名
提前致谢。
【问题讨论】:
-
为什么不通过 phoenetics 来做,制作将它们转化为 phoenetics 的函数。然后按声音排序
-
@StepPen-codes 因为这是要求
-
什么意思?另外我认为你应该通过书写系统而不是语言对它们进行分类。我的意思是有很多语言使用字母表,而不仅仅是英语
-
英文名,我认为 Array.sort() 可以处理
标签: javascript arrays sorting