问答详情
源自:7-22 数组排序sort()

sort(sortNum)只能用于数字的升降排序吗?

看代码,sort(sortNum)不能用于字母排序,也不能用于汉字笔画多少排序,那这个函数是不是太局限性呢?就只能用于数字?

那么有没有用于汉字笔画排序的函数呢?

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Array对象 </title>
<script type="text/javascript">
   function sortNum(a,b) {
    return b-a;
   }
var myarr = new Array("a","f","d","e","t","z");//按字母先后顺序排序
var myarr1= new Array("一","二","三","码","用","義");//按笔画多少排序
document.write(myarr.sort(sortNum)+"<br/>");//输出和预期完全不一样,根本都没变过位置
document.write(myarr1.sort(sortNum));
</script>
</head>
<body>
</body>
</html>


提问者:慕村1994845 2016-10-17 21:49

个回答

  • _Linl
    2016-10-20 16:59:35

    中文不能直接排序,一般对中文排序,会将中文转换成拼音(这个有一些人做了开源库),按照首字母 A-Z排序,至于为什么,因为这些语言都是英语国家的人设计的,设计的时候就没考虑过中文字符。

  • kitnemo
    2016-10-17 22:00:11

    应该是没有按笔画排序的吧