老师,请问这样写对吗?
来源: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回答
同学你好!你的代码实现效果是没有问题的。
这里可以扩展一下,老师建议可以加上一个判断条件,判断输入的是否是数字。参考:
/*使用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);同学可以亲自测试一下~
如果解决了你的疑惑,望采纳, 祝学习愉快~~~
相似问题