老师,这里有几个问题

老师,这里有几个问题

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>camel</title>
</head>
<body>
<script>
    var arr=new Array(10);
    function getRandom(n,m){
        var count=m-n+1;
        return Math.floor(count*Math.random()+n);
    }
    for(var i=0;i<10;i++){
        arr[i]=getRandom(1,100);
    }
    var a,b;
    var arrLower=arr.sort(function(a,b){
        return b-a;
    })
    var min=arrLower[9],
        max=arrLower[0];
    document.write(arrLower+'<br/>');
    document.write("这组数中最大的值是:"+max+",最小的值是:"+min);
</script>
</body>
</html>

功能是可以实现的,但是如果写math.min(arrLower)则返回的是nan,看了评论区,好像意思是,Math.min()括号中应该是写数字,不能有参数,是这样么?还有一个问题就是,评论区有人说可以用push来完成,请问push怎样完成这个功能呢?

正在回答

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

2回答

同学你好,对于你的问题解答如下:

  1. push理解是对的。

  2. 因为Math.min和Math.max中不能传数组,所以同学代码中不可以使用这两个方法。

  3. ...表示扩展运算符,将数组arr展开,示例:arr的值为[1,3,4], 使...arr后获取的是1,3,4.

    前面没有讲过,这是es6中内容,同学简单了解下即可,第四阶段的es6中会有详细的讲解。

    http://img1.sycdn.imooc.com//climg/5f34bbcf09adf01a13270574.jpg

祝学习愉快~

好帮手慕慕子 2020-08-13 11:11:22

同学你好,练习要求随机数的范围是0-100,且包括0和100,代码中的写法不不包括0,建议修改:

http://img1.sycdn.imooc.com//climg/5f34ae2e090f15ee04810162.jpg

针对同学的问题解答如下:

1、是的,Math.min方法中参数不能是数组,应该是数字。

2、push方法是向数组中添加内容,如果想要使用push方法实现,可以参考下图修改:

http://img1.sycdn.imooc.com//climg/5f34af51093f80e808960651.jpg

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • 提问者 丰瑶瑶和她的猫 #1
    push理解为,经过第一次for循环,假设random了一个数为36,然后将36添加至空数组arr中,然后在第二次循环,对吧?math.min或者max的方法在这里并不能用对吗?因为arr中的数字都是随机生成的,所以只能先排序,之后取索引0和9的数为最大最小。 在评论区还见到有人这样写,不太明白这个意思,前面有讲过吗?var maxNum = Math.max(...arr),minNum = Math.min(...arr);
    2020-08-13 11:47:02
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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