老师,为什么这样子编写的第26行和29行的输出顺序不一样

老师,为什么这样子编写的第26行和29行的输出顺序不一样


<!DOCTYPE html>

<html lang="en">


<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>测试</title>

</head>


<body>

    <script>

        var arr = [7788449966221133];

        arr.sort(function (ab) {

            return a - b;

        });

        console.log(arr);

        var input;

        var arr = [];

        while (input != "-1") {

            input = Number(prompt("请输入您想排序的数字"));

            //补充代码

            if(input!=-1)

            arr.push(input);

        }

        console.log(arr);

        //补充代码

        arr.sort(); //在括号中补充代码

        document.write(arr);

    </script>

</body>


</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕言 2021-04-11 17:03:18

同学你好,不传递参数,也是会处理数组的,如果想要按照自己的需求操作数组,还是建议传递参数,sort方法的参数可以参考视频(视频链接:https://class.imooc.com/lesson/1625#mid=37390)

祝学习愉快~

好帮手慕言 2021-04-11 12:05:20

同学你好,一个是在使用sort方法之前打印的arr,是没有经过sort方法处理过的数组。一个是在使用sort方法之后打印的arr,是经过sort方法处理过的数组,所以是不一样的。

祝学习愉快~

  • 提问者 慕仙1405838 #1

    可是sort方法里面不是没有参数吗,也会处理数组吗

    2021-04-11 12:20:14
  • 不是while循环了嘛?怎么还加了if循环。因为不知道输入多少次,就是用while比较好。另外你没有减去-1那一项。sort方法是会处理调用函数的数据的
    2021-04-17 21:26:55
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师