【问题标题】:make return the largest numeric value within the array, javascript [duplicate]使返回数组中的最大数值,javascript [重复]
【发布时间】:2022-01-09 23:39:47
【问题描述】:

这是我试图让它工作的代码,问题是它只检查到第 8 个值,然后由于某种原因忽略了其余的值

function a(){
    let nums = [12,11,23,22,21,34,33,55,44,43,32,41,100]
    let nam;
    let b = 1
    let a = 0

    document.body.innerHTML += "<br>a = "+nums.length

    for(let x=0;x<=nums.length;x++){
        if(nums[a]>nums[b]){
            nam = nums[a]
            b++
        }else{
            nam = nums[b]
            a++
        }
        document.body.innerHTML += "<br>a = "+nums[a]
        document.body.innerHTML += "<br>b = "+nums[b]
        document.body.innerHTML += "<br>nam = "+nam
    }
}
a()

【问题讨论】:

  • 我有点困惑;要找到最大值,您是否只需要遍历数组并跟踪找到的最高数字? x 已经是当前数组值的索引(除了偏一错误;JS 数组是零索引的)。
  • 如果你的循环只迭代13次是正常的,有时你增加a,有时你增加b,最后a+b==13,但不太可能@ 987654326@ 或 b 达到 13。这个逻辑不是你找到最大值的方法。回到绘图板!

标签: javascript arrays for-loop


【解决方案1】:

给你

function large() { 
   let nums = [12,11,23,22,21,34,33,55,44,43,32,41,100]
   document.body.innerText = `MAx Value = ${ Math.max(...nums) }`;
} 

large();

【讨论】:

  • 与其复制副本或为他们做他们的工作,最好提供一个更有启发性、教育性的答案,而不仅仅是将一些代码扔到墙上(关于重复的问题)。 YMMV。
  • 嘿,我是初学者正在练习。从现在开始会牢记。
猜你喜欢
  • 2020-04-15
  • 2017-12-20
  • 2016-08-24
  • 2014-06-20
  • 1970-01-01
  • 2021-04-16
  • 2021-06-09
  • 1970-01-01
  • 2018-02-17
相关资源
最近更新 更多