V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
fuwu1245
V2EX  ›  问与答

JavaScript 字符串数组排序

  •  
  •   fuwu1245 · 2018-06-04 16:24:57 +08:00 · 1629 次点击
    这是一个创建于 2146 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT 要求

    1. 数组的每一个元素都为字符串 举例

    2. 顺序为 "" >特殊字符 > 数字 > 大写字母 > 小写字母 > 汉字 其中特殊字符按照 Unicode 码排序, 数字按照从小到大的顺序,大小写字母按照字母表排序 汉字按照拼音来排序 "" 指的是空字符串

    举例

    let arr = ["_A001", "_a001", "A001", "B001", "C001",  "骑士", "火箭",  "", "a001", "b001", "z001", "z002", "123", "455", "566"];
    //期望结果
    // ["", "_A001", "_a001", "123", "455", "566", "A001", "B001", "C001",  "a001", "b001", "z001", "z002",  "火箭", "骑士"]
    

    自己用了Array.prototype.sort写的, 对汉字使用localeCompare函数比较, 对数字及其他,使用默认的规则, 却发现456老是排在123的前面 无奈了...

    2 条回复    2018-06-07 14:24:17 +08:00
    fuwu1245
        1
    fuwu1245  
    OP
       2018-06-05 15:06:11 +08:00
    自问自答一下..
    https://github.com/haboll/sort
    参考上述 repo 写了一个排序算法
    有兴趣的人可以参考一下~
    fuwu1245
        2
    fuwu1245  
    OP
       2018-06-07 14:24:17 +08:00
    ...为什么没人愿意回答这个问题?
    是因为太基础了么..
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3216 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:48 · PVG 18:48 · LAX 03:48 · JFK 06:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.