情深忆往缠绵 2022-02-25 20:19 采纳率: 44%
浏览 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 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?
  • ¥15 关于#vue.js#的问题:修改用户信息功能图片无法回显,数据库中只存了一张图片(相关搜索:字符串)
  • ¥15 texstudio的问题,