情深忆往缠绵 2022-02-25 20:19 采纳率: 44.6%
浏览 30
已结题

JavaScript数组排序,为什么无法实现排序

问题遇到的现象和发生背景

我用的sort排序,但是无论是sort里插入方法,还是单个sort都无法排序,谁知道怎么回事

问题相关代码,请勿粘贴截图
<script>
      function write(value) {
        document.write(value + " ");
      }
      function create(array) {
        var count = 0;
        var random = Math.round(Math.random() * 100);
        while (count < 10) {
          array[count] = random;
          random = Math.round(Math.random() * 100);
          count++;
        }
      }
  </script>
  <script>
    var array1 = Array();
    create(array1);
    //创建第一个数组
    //数组按照数字大小排序
    document.write("原数组1:<br/> ");
    write(array1);
    document.write("<br/>按数字大小排序后的数组:<br/> ")
    write(array1.sort());
  </script>
  <script>
    var array2 = Array();
    create(array2);
    //创建第二个数组
    var sort_array2 = function (a , b) {
      if (a.source === b.source) {
        //source属性返回一个包含regexp对象的源文本的字符串,它不包含两边的两个正斜杠和任何标志。
        return 0;
        //表示a=b,a,b位置不变
      }else if (a.source > b.source) {
        return -1;
        //表示a>b,将a放在b的前面
      }else {
        return 1;
        //表示a<b,将a放在b的后面
      }
    }
    document.write("<br/>原数组2:<br/> ");
    document.write(array2 + "<br/>" + "按照自定义排序后的数组: " + "<br/>");
    //自定义排序-倒叙
    write(array2.sort(sort_array2));
  </script>

运行结果及报错内容

img

我想要达到的结果

不明白我写的哪有问题

还有,网上写的这些代码是什么意思

function f(a,b) {  //排序函数
    return -(a - b);  //取反并返回比较参数
}

function f(a,b) {  //排序函数
    return (a - b);  //返回比较参数
}

a-b是什么意思,-(a - b)又是什么意思,a减去b么

  • 写回答

2条回答 默认 最新

  • 崽崽的谷雨 2022-02-25 20:50
    关注

    你应该return a.souece-b.source

    a-b是升序
    b-a是降序
    你看一下菜鸟教程sort

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月8日
  • 已采纳回答 2月28日
  • 修改了问题 2月25日
  • 创建了问题 2月25日

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 如何将下列的“无限压缩存储器”设计出来
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口