老师问一下 我的这个数据类型是number,为什么打印最大最小值为NaN

来源:4-8 编程练习

慕勒1149932

2020-05-30 11:11:24

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

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

</head>

<body>

<script>

    //补充代码

    var a=new Array(),i;

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

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

    }document.write(a+"<br>");

    document.write(typeof a[2]+"<br>");

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

    

</script>

</body>

</html>


写回答

1回答

好帮手慕码

2020-05-30

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

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

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

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

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

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

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

1

0 学习 · 40143 问题

查看课程