老师,请问这样写对吗?

来源:2-23 编程练习

慕丝1940617

2019-03-24 16:41:55

<html>

<head>

    <meta charset="UTF-8">

    <title>数组排序</title>

</head>

<body>

<script>

    var input;

    var arr=[];

    var i=0;

    while(input!="-1"){

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

        if(input!="-1"){

        arr[i]=input;

        i++;  

       }  

     }

    arr.sort(function(a,b){return b-a});

document.write(arr);

</script>

</body> 

</html> 


写回答

1回答

好帮手慕码

2019-03-25

同学你好!你的代码实现效果是没有问题的。

这里可以扩展一下,老师建议可以加上一个判断条件,判断输入的是否是数字。参考:

/*使用number()过滤掉number以外的字符类型*/
    var input = Number(prompt("请输入您想排序的数字"));
    var arr=[];
    var i=0;
    while(input!="-1"){
        // 添加是否是number的判断,添加提示语
        if(isNaN(input)){
            input=prompt("输入错误,只能输入数字");
        }
        // 这里的if判断与while判断重复,建议删掉
        // if(input!="-1"){
        arr[i]=input;
        i++;
        //这个语句要放在i++下面,因为代码是自上而下执行的,这个语句也是循环出现
        input=prompt("请输入您想排序的数字");
       // } 
     }
    arr.sort(function(a,b){return b-a});
    document.write(arr);


同学可以亲自测试一下~

如果解决了你的疑惑,望采纳, 祝学习愉快~~~


0

0 学习 · 36712 问题

查看课程