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

请大神指教一下!


<!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 a-b

   }

var myarr = new Array("80","16","80","6","100","1");

document.write(myarr.sort(sortNum));

</script>

</head>

<body>

</body>

</html>

我想问一下如果不指定方法函数,就按unicode码排序,这个unicode码是什么?

还有在document.write(myarr.sort(sortNum));这里面调用sortNum函数为什么不用写成”sortNum()“呢

还有就是当我们需要升序排列的时候,它说当返回值为>-1&&<1的时候表示A和B具有相同的排列顺序,这是我们假设A=0.9,B=0.6,当它比较a-b的时候返回值就是0.3符合>-1&&<1,这时A是和B排在一起,就是0.9排在0.6之前对吗?

提问者:Scny 2015-12-15 12:08

个回答

  • 慕男婶
    2015-12-15 12:23:04
    已采纳

    计算机只能存储2进制数据。所以你写的这些字符串,计算机会编码成二进制的,编码的时候就按照unicode码来编。

    举2个例子,比如字母A,它的编码是65,

                         字母B,它的编码是66,

    如果按照unicode升序排列的话,显然65<66,所以字母A排在字母B前面。

    在比如,汉字 中,它的编码是20013

                汉字 国,它的编码是22269

    如果按照unicode降序排列的话,显然22269 > 20013,所以 国 将会排在 中 前面