大小写排列顺序

Ham*_*ati 4 javascript arrays sorting algorithm

假设我们有以下数组

let names = ['Malek', 'malek', 'sana', 'ghassen', 'Ghada', 'Samir']; 
console.log(names.sort()); 
Run Code Online (Sandbox Code Playgroud)

结果如下:

["Ghada", "Malek", "Samir", "ghassen", "malek", "sana"]
Run Code Online (Sandbox Code Playgroud)

JavaScript根据其ASCII值比较每个字符。

我想按小写字母排序在排序数组中排在首位,

预期的输出:

 ["Ghada", "ghassen", "malek", "Malek", "Samir", "sana"]
Run Code Online (Sandbox Code Playgroud)

谢谢

Gho*_*med 9

使用localeCompare尝试一下:

const names = ["Ghada", "Malek", "Samir", "ghassen", "malek", "sana"];
const result = names.sort((a, b) => a.localeCompare(b)); 

console.log(result);
Run Code Online (Sandbox Code Playgroud)

localeCompare()方法返回一个数字,该数字指示该字符串按排序顺序位于compareString之前,之后还是相等。