我没写Math.max(...arr),Math.min(...arr));的时候返回的是infinity
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
//补充代码
const arr=[];
for (i=0;i<10;i++){
let a=Math.floor(Math.random()*101)
arr.push(a);
}
console.log(arr.sort(function(x,y)
{return y-x}),Math.max(...arr),Math.min(...arr));
</script>
</body>
</html>
但是前面的循环已经把这十个数放到数组里面了,这十个数不就是一个整体了吗,为什么获取最大最小值的时候要再把这十个数组合起来呢
正在回答 回答被采纳积分+1
同学你好,问题解答如下:
1、同学这样写,效果是正确的
2、建议同学把返回infinity的代码粘贴出来,老师根据你的代码,为你解答问题
3、arr.sort(function(x,y){return y-x})这句代码是为了实现将arr排序(从大到小排)
4、Math.max()、Math.min()的参数必须是一个一个的形式,如下:
所以需要使用"..."将数组arr的元素打散,传入到Math方法内。如果参数不符合要求,那么就得不到正确的结果。同学返回的infinity,也可能是参数不符合要求造成的。
5、获取最大值、最小值,通常都是在一堆数中查找,比如“有5个数,找到5个数中的最大值”。所以这里获取了十个数。为了练习扩展运算符“...”的使用,所以把数组和Math.max()、Math.min()结合起来了。
祝学习愉快!
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星