在 JavaScript 数组中查找最大值/最小值

Ammar Ali 2023年10月12日
  1. 使用 JavaScript 中的 Math.min() 函数查找数组的最小值
  2. 使用 JavaScript 中的 Math.max() 函数查找数组的最大值
在 JavaScript 数组中查找最大值/最小值

本教程将讨论如何使用 JavaScript 中的 Math.min()Math.max() 函数查找数组的最小值和最大值。

使用 JavaScript 中的 Math.min() 函数查找数组的最小值

要找到给定数组中存在的最小值,我们可以使用 JavaScript 中的 Math.min() 函数。此函数返回给定数组中存在的最小值。例如,让我们用一些随机值定义一个数组,并使用 Math.min() 函数找到它的最小值,然后使用 console.log() 函数将其显示在控制台上。请参考下面的代码。

var myArray = [1, 5, 6, 2, 3];
var m = Math.min(...myArray);
console.log(m)

输出:

1

正如你在输出中看到的,数组的最小值由 Math.min() 函数返回。某些浏览器可能不支持上述方法,因此你可以使用 apply() 函数和 Math.min() 函数从给定数组中获取最小值。例如,请参考下面的代码。

var myArray = [1, 5, 6, 2, 3];
var m = Math.min.apply(null, myArray);
console.log(m)

输出:

1

apply() 函数调用具有给定 this 值和上述代码中给定数组的函数。如果你不想使用任何预定义的函数,你可以使用 JavaScript 中的循环创建自己的函数。例如,让我们创建一个函数来查找数组的最小值。请参考下面的代码。

function MyMin(myarr) {
  var al = myarr.length;
  minimum = myarr[al - 1];
  while (al--) {
    if (myarr[al] < minimum) {
      minimum = myarr[al]
    }
  }
  return minimum;
};
var myArray = [1, 5, 6, 2, 3];
var m = MyMin(myArray);
console.log(m)

输出:

1

在上面的代码中,我们将给定数组的最后一个元素保存到变量 minimum,并将其与前一个元素进行比较。如果元素小于变量 minimum,我们将这个元素存储在变量 minimum 中。如果没有,我们将移动到下一个元素。我们将重复这个过程,直到我们到达索引 0。循环之后,我们将返回变量 minimum

使用 JavaScript 中的 Math.max() 函数查找数组的最大值

要找到给定数组中存在的最大值,我们可以使用 JavaScript 中的 Math.max() 函数。此函数返回给定数组中存在的最大值。请参考下面的代码。

var myArray = [1, 5, 6, 2, 3];
var m = Math.max(...myArray);
console.log(m)

输出:

6

你还可以使用 apply() 函数和 Math.max() 函数从给定数组中获取最大值。例如,请参考下面的代码。

var myArray = [1, 5, 6, 2, 3];
var m = Math.max.apply(null, myArray);
console.log(m)

输出:

6

让我们创建一个函数来查找数组的最大值。请参考下面的代码。

function MyMax(myarr) {
  var al = myarr.length;
  maximum = myarr[al - 1];
  while (al--) {
    if (myarr[al] > maximum) {
      maximum = myarr[al]
    }
  }
  return maximum;
};
var myArray = [1, 5, 6, 2, 3];
var m = MyMax(myArray);
console.log(m)

输出:

6
作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相关文章 - JavaScript Array