为什么用Math.max( )跟Math.min( )的方法不行?是不是讲课的时候没讲全呢?

为什么用Math.max( )跟Math.min( )的方法不行?是不是讲课的时候没讲全呢?

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

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

</head>

<body>

<script>

    //补充代码

    var nub=[];

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

        nub[i]=Math.floor(Math.random()*101);

    }

    document.write("原数组为:"+"<br/>"+nub+"<br/>");

   var newNub=nub.sort(function(a,b){return b-a}),

       nubMax=newNub[0],//nubMax=Math.max(newNub),

       nubMin=newNub[9];//nubMin=Math.min(newNub);

       document.write("数组降序排序后为:"+"<br/>"+newNub+"<br/>");

       document.write("这组数中最大的值是:"+nubMax+",最小的值是:"+nubMin);

</script>

</body>

</html>


正在回答

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

3回答

同学你好!

请问同学是这样的形式吗?

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

它确实是可以实现的,...是es6中的一个新语法,叫展开运算符

展开运算符允许一个表达式在某处展开。展开运算符在多个参数(用于函数调用)或多个元素(用于数组字面量)或者多个变量(用于解构赋值)的地方可以使用。

这里用它的一个基本用途合并数组来举例:

http://img1.sycdn.imooc.com//climg/5d02fd290001e0d805860092.jpghttp://img1.sycdn.imooc.com//climg/5d02fd310001e0d805860092.jpg

整个运算符因为是比较新的语法,不是很常用(可能会有兼容性)。这里同学做知识拓展即可

如果帮助到了你 欢迎采纳 祝学习愉快~

好帮手慕码 2019-06-13 10:05:23

同学你好!

请问同学是使用最大最小得出NaN吗?

Math.max(newNub)打印NaN,因为newNub是一个数组,而Math.max和Math.min括号里面的参数不能放一个数组,它们的参数是一组数,所以不能直接使用Math.max和Math.min哦。

而且老师在视频中有说到他们的参数是一组数

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

同学可以再看下视频4-1加深下理解

如果帮助到了你 欢迎采纳 祝学习愉快~

  • 提问者 为你浅笑 #1
    网上在前面加...就能用的方法
    2019-06-14 08:04:33
提问者 为你浅笑 2019-06-13 01:04:26

网上搜索到的直接在数组newNub前面加...就能实现,老师在教的时候是不是教少了很多东西呢?

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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