有几个问题都在代码里面注释过了 麻烦看下

有几个问题都在代码里面注释过了 麻烦看下

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>数组排序</title>

</head>

<body>

<script>

var input;

    var arr=[ ];

    var i=0;  //为什么 i定义要在外面 在while里面定义就不行

    while(input!="-1"){

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

        //var i=0;   这里定义arr数组只能为-1 

        arr[i]=input;

        i++;

     }

    //另外这里为什么要加入 arr.pop();删除-1

    arr.sort(function(a,b){return b-a}); //补充代码

document.write(arr);

</script>

</body>

</html>


正在回答

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

1回答

根据问题描述如下:

  1. 为什么 i定义要在外面 在while里面定义就不行

    因为定义在里面的话 ,每次while循环都会执行var i=0; , i一直被初始化为0 , 所以不能定义在里面

  2. 为什么要加入 arr.pop()

    pop() 方法用于删除数组的最后一个元素. 因为根据练习题要求 ,最后输入的"-1"是不需要显示在页面的 ,所以arr.pop()把数组最后一个元素"-1"删除掉

希望能解答你的疑惑 ,祝学习愉快 !


  • 前端工程师Var 提问者 #1
    当输入-1的时候 不是不执行while 里面的 那为什么会出输出-1在数组里面
    2018-06-04 16:20:08
  • 因为循环中 ,当执行 input=Number(prompt("请输入您想排序的数字"));输入-1后 ,先执行arr[i]=input;把-1加入到数组 ,然后再去判断input!="-1"哦
    2018-06-04 17:16:42
  • 嗯 那这和 do-while 结果不是一样了
    2018-06-04 17:32:13
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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