老师帮忙检查一下代码?有没有需要优化的地方
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Math.random()</title> </head> <body> <script> var arr=[] for(var i=0;i<10;i++){ arr[i]=Math.floor(Math.random()*10*10+1) } arr.sort(function str(a,b){return b-a;}) document.write(arr) document.write("这组数中最大的值是:"+arr[0]+"这组数中最小的值是:"+arr[9]) //补充代码 </script> </body> </html>
16
收起
正在回答
3回答
同学你好,理论上你的想法是正确的。但是计算机的发明,就是为了进行庞大的计算,因此“计算方法慢”这种情况可能不会很明显的体现出来。所以说,这两种方法都是可以的。
如果我的回答帮到了你,欢迎采纳,祝学习愉快~
陈立天
2020-01-11 13:46:39
老师补充一下。以下代码为什么和上面那段的代码效果可以一样?
按照正常逻辑应该是把10个1-100的数随机生成了之后 在进行排序才对?如果排序arr.sort(function str(a,b){return b-a;})语句加入for循环当中是不是意思理解为i=0是为1个1-100随机数,这时候排序语句无法对第一个随机数字排序。当i=1的时候第二次循环,这时候有2个随机数 那么排序语句在循环语句当中这时候对这两个1-100的随机数进行排序,这时候才能够排序的意思。那么以此类推 也就是用下面的代码就是:从0-10 每生成一个1-100的随机数都对他生成的所有数进行了排序。也就是说这样的运算是多余的咯?应该是上面的代码才比较符合逻辑 才算最优化的代码?
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Math.random()</title> </head> <body> <script> var arr=[] for(var i=0;i<10;i++){ arr[i]=Math.floor(Math.random()*10*10+1) arr.sort(function str(a,b){return b-a;}) } document.write(arr) document.write("这组数中最大的值是:"+arr[0]+"这组数中最小的值是:"+arr[9]) //补充代码 </script> </body> </html>
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星