问题
编写程序,对用户输入的数据进行降序排序,当用户输入结束符“-1”时,数字 -1 不参与排序。
思路
step1:
- 首先,用户需要不断输入数据,则需要让页面循环弹出输入框,直到用户输入-1,才停止弹出输入框
- 其次,我们把用户输入的数据放进一个数组中,可以用push()方法,即arr.push(input)
step2:
- 数组不包含-1这个结束数据,则需要用到数组的pop()方法来删除数组的最后一项,即arr.pop();
step3:
- 最后,让数组进行降序排序,并显示在页面中
- 降序的方法可以给sort传入一个匿名函数实现,即arr.sort(function(x,y){return y-x});
代码
<!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>Document</title>
</head>
<body>
<script>
var input; //输入数据
var arr=[ ]; //存放输入数据
// 输入的数字是字符串类型,要转化为数字型
while(input!="-1"){
input=Number(prompt("请输入您想排序的数字"));
if(input!="-1"){
// 将数字存入数组
arr.push(Number(input));
}
}
//将数组的数据按从大到小的顺序排列(降序)
arr.sort(function(a,b){return b-a});
alert(arr);
document.write(arr);
</script>
</body>
</html>