在 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