为何我输出的最大最小值结果,居然是一样的?

为何我输出的最大最小值结果,居然是一样的?

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>Math.random()</title>

</head>

<body>

<script>

    //补充代码

  var ten = [];//定义空数组

 //随机输出1-99的整数

  var geshu = 99-1+1;

    for(var i=1;i<10;i++){

     ten.push(Math.floor(Math.random()*geshu+1));   

    }

    document.write(ten.sort(function(a,b){return b-a}));

    document.write("这组数中的最大值是:"+Math.max(parseInt(ten))+","+"最小的值是:"+Math.min(parseInt(ten)));

</script>

</body>

</html>


正在回答

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

2回答

你好,ten.sort(function(a,b){return b-a}) 已经将排序好的数值放在 ten 数组中,所以,最大和最小值取数组的 最后一个和第一个就可以了,如下:

document.write("这组数中的最大值是:"+ten[8]+","+"最小的值是:"+ten[0]);

希望对你有帮助,祝学习愉快。

  • 大雄168169 提问者 #1
    非常感谢!
    2017-04-27 21:18:56
  • 大雄168169 提问者 #2
    为何会是8和0?求解。
    2017-04-27 21:19:40
  • 小于飞飞 回复 提问者 大雄168169 #3
    你好,代码中 for(var i=1;i<10;i++) 产生9个随机数, 而数组的下标是从0 开始,所以是 0 和 8, 祝学习愉快。
    2017-05-02 19:04:44
OlafChou 2017-06-26 08:43:04
<script type="text/javascript">
		var arr=new Array(10);
		for(var i=0;i<arr.length;i++){
			arr[i]=Math.floor(Math.random()*101);
			arr.sort(function(a,b){return b-a});
		}
		document.write(arr+'<br/>');
		document.write("这组数中最大的值是:"+arr[0]+",最小值是"+arr[9]);
	</script>


问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

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

在线咨询

领取优惠

免费试听

领取大纲

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