使用 JavaScript 循环查找数组中的最大数字

新手上路,请多包涵

创建一个名为 biggestNumberInArray() 的函数。

它以一个数组作为参数并返回最大的数字。

这是一个数组

const array = [-1, 0, 3, 100, 99, 2, 99]

我在我的 JavaScript 代码中尝试的是:

  function biggestNumberInArray(arr) {
   for (let i = 0; i < array.length; i++) {
      for(let j=1;j<array.length;j++){
          for(let k =2;k<array.length;k++){
              if(array[i]>array[j] && array[i]>array[k]){
                    console.log(array[i]);
           }
         }
      }
   }
}

它返回 3 100 99。

我只想返回 100,因为它是最大的数字。

有没有更好的方法使用循环来获得最大的价值?

使用三个不同的 JavaScript 循环来实现这一点(for、forEach、for of、for in)。

您可以使用其中三个来完成它。

原文由 Jacky 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 263
2 个回答

为简单起见, zer00ne 的答案 应该更好,但如果您仍想遵循 for 循环方式,这里是:

 function biggestNumberInArray (arr) {
    // The largest number at first should be the first element or null for empty array
    var largest = arr[0] || null;

    // Current number, handled by the loop
    var number = null;
    for (var i = 0; i < arr.length; i++) {
        // Update current number
        number = arr[i];

        // Compares stored largest number with current number, stores the largest one
        largest = Math.max(largest, number);
    }

    return largest;
}

原文由 Matheus Pratta 发布,翻译遵循 CC BY-SA 4.0 许可协议

一些 ES6 魔法,使用 传播 语法:

 function biggestNumberInArray(arr) {
  const max = Math.max(...arr);
  return max;
}

实际上,有几个人比我更详细地回答了这个问题,但如果您对获取数组中最大数的各种方法之间的性能感到好奇,我希望您能阅读 这篇文章

原文由 wentjun 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题