javascript - js数组中的排序问题
ringa_lee
ringa_lee 2017-04-10 15:50:46
[JavaScript讨论组]
<html>

<body>
    <script type="text/javascript">
    function sortNumber(a, b) {
        return a - b
    }

    var arr = new Array(6)
    arr[0] = "10"
    arr[1] = "5"
    arr[2] = "40"
    arr[3] = "25"
    arr[4] = "1000"
    arr[5] = "1"

    document.write(arr + "<br />")
    document.write(arr.sort(sortNumber))
    </script>
</body>

</html>

初学者。看不懂document.write(arr.sort(sortNumber))什么意思

ringa_lee
ringa_lee

ringa_lee

全部回复(4)
大家讲道理

是这样的 js 的数组sort排序是可选一个比较函数作为参数的
函数的作用是什么呢?
默认情况

 var points = [40,100,1,5,25,10]; 
 points.sort()l //[1, 10, 100, 25, 40, 5]
以字符串大小比较,比较字符串上每个位的acsii码大小,第一位相同则比较第二位

引入比较函数的结果

 var points = [40,100,1,5,25,10]; 
 points.sort(function(a,b){return a-b}) //[1, 5, 10, 25, 40, 100]

引入比较函数 如果a-b<0;则从小到大排序;如果a-b>0;则从大到小排序

在既有数字 又有字母的情况下 还需要在讨论

阿神
document.write(arr.sort(sortNumber))
// 这个等于 
var arrSorted = arr.sort(sortNumber);
document.write(arrSorted)
// 这个叫嵌套调用 
// 方法1(方法2(参数))
// 嵌套调用先执行最内圈的 然后向外执行
PHPz

查下js的sort()函数的相关知识点就知道了,网上一堆资料,讲得也很详细。。


建议:
如果对JS有兴趣,建议系统的学习下,强烈推荐《JavaScript高级程序设计3版》。在没有系统学习的前提下,遇到什么不懂问什么是一个很不好的学习习惯,只会让你觉得知识点很凌乱,越是后面越难学下去。没有结实的基础谈何高楼大厦。。

PHP中文网

多好的网站,介绍的多么详细啊。
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
记住吆。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号