zoukankan      html  css  js  c++  java
  • 数组的sort方法

        今天在看《JavaScript高级程序设计第三版》时,学到了数组的sort方法。知道这个方法,但是一直没仔细研究过,这次发现,它是把数组内的值用toSting()变为字符串再进行比较,这样的话,无法保证排出来的顺序的正确性,比如

    var values = [0, 1, 5, 10, 15];
    values.sort();
    alert(values); //0,1,10,15,5

    因为数值 5 虽然小于 10, 但在进行字符串比较时, "10" 则位于 "5" 的前面, 于是数组的顺序就被修改了。

    如何让它一定准确呢,书上给了个很好的解决方法,原来,sort()方法还可以带参数:

    
    

    function compare(value1, value2) {
    if (value1 < value2) {
    return -1;
    } else if (value1 > value2) {
    return 1;
    } else {
    return 0;
    }
    }

    var values = [0, 1, 5, 10, 15];
    values.sort(compare);
    alert(values); //0,1,5,10,15

    
    

    这时,改变compare()函数可以达到降序排序的效果。

    欢迎大家来浏览我的博客,如发现我有写错的地方,欢迎交流指正。
  • 相关阅读:
    Qt 信号与槽
    Qt 项目中main主函数及其作用
    Windows下的GUI 库
    ABP进阶教程0
    ABP入门教程15
    ABP入门教程13
    ABP入门教程12
    ABP入门教程11
    ABP入门教程10
    ABP入门教程9
  • 原文地址:https://www.cnblogs.com/lulu-beibei/p/4595595.html
Copyright © 2011-2022 走看看