老师,为什么这样求不出最大值跟最小值呢?显示NaN

来源:4-8 编程练习

慕设计6170877

2020-08-02 10:35:06

<!DOCTYPE html>

<html>

    <head>

        <meta charset="utf-8">

    </head>

    <body>

    <script>

     var arr=[];

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

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

     }

     arr=arr.sort(function (a,b){return b-a;});

     var n=Math.max(arr);

     var m=Math.min(arr);

     document.write(arr+"<br>");

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


         </script>

    </body>

</html>


写回答

1回答

好帮手慕码

2020-08-02

同学你好,解答如下:是因为Math.max和Math.min的参数类型不对。Math.max和Math.min不能直接传入数组,这里arr就是一个数组:

http://img.mukewang.com/climg/5f2630ee095e9f8e05130068.jpg

传入之后,数组返回的就是NaN。

http://img.mukewang.com/climg/5f2630fc0992fa4f02680094.jpg

如果这里要获取最大值和最小值,可以使用数组下标方式。建议修改代码,如下:

http://img.mukewang.com/climg/5f2631de09d53b4906460228.jpg

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

0

0 学习 · 40143 问题

查看课程