javascript - 排序大小写的数组顺序

标签 javascript arrays algorithm sorting

<分区>

假设我们有如下数组

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

结果如下:

["Ghada", "Malek", "Samir", "ghassen", "malek", "sana"]

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

我想按小写字母排序,使排序后的数组排在第一位,

预期输出:

 ["Ghada", "ghassen", "malek", "Malek", "Samir", "sana"]

谢谢

最佳答案

localeCompare 试试这个:

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

console.log(result);

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

关于javascript - 排序大小写的数组顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56792607/

相关文章:

javascript - 如何在多个文本上添加计数器

javascript - 是否可以在不是我们自己的 Web 应用程序中查看基于浏览器的 javascript 变量的值?

javascript - json.stringify 没有在主对象下的所有对象上调用 toJson

php 返回无效的 json

javascript - 更新 Mongo 文档内的数组不起作用

javascript - 具有多个选项和不同权重的排列

javascript - 如何在components.ts文件中使用KeyValuePipe?

algorithm - X(X,X)的结果是什么?

php - 指数函数算法

algorithm - 检查多米诺骨牌金字塔的有效性