gpt4 book ai didi

javascript - 如何对姓名列表进行 A-a-Z-z 排序?

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

我需要按字母顺序对数据列表进行排序,但在 A-a-Z-z 中,名称 Antony 位于名称 antonyZelda 之前位于 zelda 之前,因此列表如下所示:

- Abigail
- Antony
- abigail
- antony
- Zelda
- zelda

基本

list.sort(function (a, b) {
if (a.name > b.name) return -1;
if (a.name < b.name) return 1;
return 0;
});

正在生成这样的列表:

  • 阿比盖尔
  • 安东尼
  • 塞尔达
  • 阿比盖尔
  • 安东尼
  • 塞尔达

首选语言:Javascript

最佳答案

有一个内置的功能:

let list = ["abigail", "Antony", "Abigail", "antony", "Zelda", "zelda"];

list.sort((a, b) =>
a.localeCompare(b, "en", { caseFirst: "upper" })
);

console.log(list);

编辑:也许你想要这个?

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);

关于javascript - 如何对姓名列表进行 A-a-Z-z 排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56059559/

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