2-13编程练习

2-13编程练习

 var user=[],i;
    while(i!=-1){
        i=prompt("输入");
        user.push(i)
    }
    
    var user_2=user.sort(function(a,b){return b-a})
    document.write(user_2)

题目中让把-1排除。我设置了while,当不等于-1时循环执行【把i加入数组中】,当i=-1时应该不再执行【把i加入数组中】这个命令了啊?为甚么数组中还有-1呢?

另外,在2-12选择题中,sort函数当中的返回值是a<b,用的是小于号,这个和a-b这种用法有什么差别?

正在回答

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

3回答
   var input;
    var arr=[];
    while(input!="-1"){
        input=Number(prompt("请输入您想排序的数字"));
        arr.push(input);

    }
    arr.pop();
    arr.sort(function(x,y){return x<y;});
    document.write(arr);

建议参考值这个来梳理一下思路,a<b和a-b都是作为数组排序的逻辑判断,祝学习愉快!

  • 红星双子 提问者 #1
    题目中让把-1排除。我设置了while,当不等于-1时循环执行【把i加入数组中】,当i=-1时应该不再执行【把i加入数组中】这个命令了啊?为甚么数组中还有-1呢?
    2017-10-12 21:56:16
提问者 红星双子 2017-10-24 21:18:03

 因为为i赋值的语句在while中,这时已经是正在执行本次while了,所以-1被添加了进来。

提问者 红星双子 2017-10-12 21:55:38

题目中让把-1排除。我设置了while,当不等于-1时循环执行【把i加入数组中】,当i=-1时应该不再执行【把i加入数组中】这个命令了啊?为甚么数组中还有-1呢?

  • i=-1只是跳出循环,而不是禁止输入。如果你想想要在输入中不显示-1、需要设置user.pop();去掉输入的-1。希望可以帮到你~
    2017-10-13 09:53:17
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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