【问题标题】:Set the value of a unicode character for sort in Javascript在 Javascript 中设置用于排序的 unicode 字符的值
【发布时间】:2018-09-03 06:47:34
【问题描述】:

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

【问题讨论】:

    标签: javascript sorting unicode


    【解决方案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.

    【讨论】:

      猜你喜欢
      • 2011-04-19
      • 2016-12-20
      • 2011-10-18
      • 2011-07-22
      • 2013-11-06
      • 2010-09-25
      • 1970-01-01
      • 2012-12-17
      相关资源
      最近更新 更多