javascript实现的字符串排序

2021-6-28 9:40

网上查了下没有现成的按照常规排序的方法,自己写了一个。逻辑是如果不是汉字按照字符的值的大小排序,如果是汉字就按照汉字的拼音排序。

    stringCompare (str1, str2) {
      let i = 0;
      for (; i < str1.length; i++) {
        let code1 = str1.charCodeAt(i);
        let code2 = str2.charCodeAt(i);

        if (isNaN(code1) && isNaN(code2)) {
          return 0;
        }
        if (isNaN(code1)) {
          return -1;
        }
        if (isNaN(code2)) {
          return 1;
        }
        if (code1 === code2) {
          continue;
        }
        if (code1 > 0x4e00 && code2 > 0x4e00) {
          return str1.charAt(i).localeCompare(str2.charAt(i));
        } else {
          return code1 - code2;
        }
      }
      if (str1.length === str2.length) {
        return 0;
      }
      return -1;
    }

 

点击:loading..
收藏到:中国收客网
评论