设置Unicode字符的值以在Javascript中进行排序

时间:2018-09-03 06:47:35

标签: javascript sorting unicode

我正在尝试在JS中按字母顺序对字符串数组进行排序。一些数组项只是字符串'-'。通常,这些值在字母搜索中出现在“ a”之前,但是我希望“-”出现在末尾。有没有一种方法可以给字符指定特定的unicode值,以便您可以自定义排序结果?

1 个答案:

答案 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