我正在尝试在JS中按字母顺序对字符串数组进行排序。一些数组项只是字符串'-'。通常,这些值在字母搜索中出现在“ a”之前,但是我希望“-”出现在末尾。有没有一种方法可以给字符指定特定的unicode值,以便您可以自定义排序结果?
答案 0 :(得分:1)
您可以通过提供排序回调并检查"-"
来完全自定义排序结果:
yourArray.sort((left, right) => {
if (left === "-") {
return right === "-" ? 0 : 1;
}
return right === "-" ? -1 : left.localeCompare(right);
});
实时示例:
const yourArray = [
"testing",
"-",
"one",
"-",
"two",
"three"
];
yourArray.sort((left, right) => {
if (left === "-") {
return right === "-" ? 0 : 1;
}
return right === "-" ? -1 : left.localeCompare(right);
});
console.log(yourArray);
更多on MDN。