吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1929|回复: 26
收起左侧

[已解决] JS 函数:数组中最大的值 (请不要进来灌水)

 关闭 [复制链接]
clearwater 发表于 2020-2-25 12:47
本帖最后由 clearwater 于 2020-2-25 12:55 编辑

求教: 下面1代码是某前端的视频教程中的代码。
我觉得老师讲错了,第13行中:

i <= arr.length 是错的;
应该改为 i <= arr.length -1

因为i 是从0开始算。

我把arr.length-1, 代入函数中,答案也是对的。

我的数学不好,常常被案例的各种算法绕晕,所以我看了头也晕晕的。希望大神能确认一下。


[Asm] 纯文本查看 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script>
        // 利用函数求数组 [5,2,99,101,67,77] 中的最大数值。
        function getArrMax(arr) { // arr 接受一个数组  arr =  [5,2,99,101,67,77]
            var max = arr[0];
            for (var i = 1; i <= arr.length; i++) {
                if (arr[i] > max) {
                    max = arr[i];
                }
            }
            return max;
        }
        // getArrMax([5, 2, 99, 101, 67, 77]); // 实参是一个数组送过去
        // 在我们实际开发里面,我们经常用一个变量来接受 函数的返回结果 使用更简单
        // var re = getArrMax([5, 2, 99, 101, 67, 77]);
        var re = getArrMax([3, 77, 44, 99, 143]);
        console.log(re);
    </script>
</head>

<body>

</body>

</html>

免费评分

参与人数 3吾爱币 +2 热心值 +2 收起 理由
bigcan + 1 + 1 谢谢分享,话说哪个灌水的人,这人品真是差
ladinglin -1 灌水
alittlebear + 2 + 1 大师/师傅加油~

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

rose521rain 发表于 2020-2-25 12:54
你说的对

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
clearwater + 1 + 1 谢谢@Thanks!

查看全部评分

 楼主| clearwater 发表于 2020-2-25 12:55
本帖最后由 clearwater 于 2020-2-25 12:56 编辑

谢谢大神啊。

我现在手上没有能量。等下午晚一点或明天给您一个热心。

~~~~~~~~~~~~~~~~~~~~~
后面的回复,如果答案雷同,就不评分辣。

免费评分

参与人数 1热心值 +1 收起 理由
alittlebear + 1 热心回复!

查看全部评分

xiuxian250 发表于 2020-2-25 12:57
却道天凉好个秋 发表于 2020-2-25 13:01
也不能完全说老师的不对,因为从结果来看,他的算法也能实现找到最大值,只是会多做一步无用的操作,就是取一个没有的下标,你写法更为严谨,加油哦
玖公子 发表于 2020-2-25 13:01
我觉得你老师写的是i<length,我们以前学校老师就喜欢这样写。但是我不喜欢这样写,我喜欢写i<=length-1,个人感觉这样容易理解。
玖公子 发表于 2020-2-25 13:08
不好意思,我看错了,我习惯i从0开始,你这里i=1,那i确实是i<=arr.length,你老师的这段代码没错,你自己运行试试就知道了。

你改成length-1结果输出对的,那是因为你那个数组最大值不是最后一个数,程序逻辑是错的,不会比较最后一个数,你console一下就知道了。
 楼主| clearwater 发表于 2020-2-25 13:09
玖公子 发表于 2020-2-25 13:01
我觉得你老师写的是i

谢谢玖公子。

视频中老师确确实实是这样讲的,而且他的代码笔记也是这样写的。

可能是口误和笔误。

我挺喜欢视频中,这个老师的

1.png
玖公子 发表于 2020-2-25 13:10
clearwater 发表于 2020-2-25 13:09
谢谢玖公子。

视频中老师确确实实是这样讲的,而且他的代码笔记也是这样写的。

你看我另外一个回复,是你错了,我刚刚没仔细看,给了你错误的答案,sorry
wei125483 发表于 2020-2-25 13:13
两行代码解决的事情
[JavaScript] 纯文本查看 复制代码
var arr = [5,2,99,101,67,77];
Math.max(...arr)
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 22:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表