MDo*_*dis 2 javascript sorting alphabetical
我需要按字母顺序对数据列表进行排序,但是在AaZz中,名称位于名称Antony之前,名称antony也位于名称Zelda之前,zelda因此列表如下所示:
- Abigail
- Antony
- abigail
- antony
- Zelda
- zelda
Run Code Online (Sandbox Code Playgroud)
基础的
list.sort(function (a, b) {
if (a.name > b.name) return -1;
if (a.name < b.name) return 1;
return 0;
});
Run Code Online (Sandbox Code Playgroud)
正在产生这样的列表:
首选语言:JavaScript
有一个内置的:
let list = ["abigail", "Antony", "Abigail", "antony", "Zelda", "zelda"];
list.sort((a, b) =>
a.localeCompare(b, "en", { caseFirst: "upper" })
);
console.log(list);Run Code Online (Sandbox Code Playgroud)
编辑:也许您想要这个?
let list = ["abigail", "Antony", "Abigail", "antony", "Zelda", "zelda"];
const compareUpperFirst = (a, b) => {
if (a === "" && bb === "") return 0;
if (a === "") return -1;
if (b === "") return 1;
let aa = a.charAt(0);
let aal = aa.toLowerCase();
let bb = b.charAt(0);
let bbl = bb.toLowerCase();
if (aal < bbl) return -1;
if (aal > bbl) return 1;
if (aa < bb) return -1;
if (aa > bb) return 1;
return compareUpperFirst(a.substr(1), b.substr(1));
};
list.sort(compareUpperFirst);
console.log(list);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |