zoukankan      html  css  js  c++  java
  • (转)JavaScript 给汉字笔画数排序

       数组的 sort 方法默认字符的编码排序,有时候要给一组汉字排序,默认的方法就不适用了。比如 var arr = ["中","华","人","民","共","和","国"],在执行 sort 方法后结果为 :中,人,共,华,和,国,民,既不是拼音也不是笔划数量的排序。
        以前很少留意过 localeCompare 方法,手册中说它执行时返回一个值,指出在当前的区域设置中两个字符串是否相同。返回值有三种:-1,0,1,刚好是 sort 方法参数所需要的类型。把 localeCompare 应用到 sort 方法中去,看看结果:
     
    var arr = ["中","华","人","民","共","和","国"];
    alert(arr.sort(function(a,b){return a.localeCompare(b)}));//结果为:共,国,和,华,民,人,中(拼音升序)
     
        注意到 localeCompare 方法是在当前区域中进行比较的,即比较的环境为当前操作系统设置的地理区域,比如数字、货币、日期时间等的表现方式(在“控制面板”中可以查看修改),如果设置排序的方式为笔划,那上面的结果则为:人,中,民,共,华,和,国(笔划升序)。
  • 相关阅读:
    各位相加
    模板方法设计模式
    581. Shortest Unsorted Continuous Subarray
    LeetCode
    判断质数
    整除问题
    A+B+C问题
    juery 安全加固 集合
    丁洪波 -- 不要“ 总是拿着微不足道的成就来骗自己”
    avalon源码阅读(1)
  • 原文地址:https://www.cnblogs.com/sxlfybb/p/1269515.html
Copyright © 2011-2022 走看看