如何在 JavaScript 中獲取零個或多個數字中的最小值?
在本教程中,我們將學習如何在 JavaScript 中找到數字中的最小值。
讓我們依次討論可用的方法
使用 Math.min() 方法
這裡,Math.min() 是佔位符物件 Math 的靜態函式。如果沒有引數,結果為-Infinity。如果引數是數字,則結果是這些數字中的最小值。如果任何一個引數不是數字,則該方法返回NaN。這是一個 ECMAScript1 特性。
語法
以下是 Math.min() 方法的語法:
Math.min(a1, a2,…an)
這裡,我們需要將數字作為引數。
引數
a1, a2,…an − 數字。
示例
這裡,Math.min() 直接找到最小值。
<html> <body> <h3>The smallest among numbers <i>using the Math.min()</i></h3> <p id="firstId"></p> <script> var m1 = Math.min(0, -7, 20, 0.8); document.getElementById("firstId").innerHTML = "The smallest " + m1; </script> </body> </html>
使用 Array.min() 和 Math.min().apply()
這裡,輸入是一個數字陣列。Math.min() 應用於此陣列並給出最小數字。
語法
以下是使用 Array.min() 方法和 Array.min.apply() 的語法:
Array.min = function(array)
{
return Math.min.apply(Math, array);
};
var minimum = Array.min(arr);
這裡,必須將數字陣列作為輸入。
引數
arr − 陣列。
示例
這裡,Array.min() 獲取輸入陣列,Math.min() 應用於它並返回輸出。
<html> <body> <h3>The smallest among numbers using the Math.min.apply() and Array.min()</h3> <p id="result"></p> <script> Array.min = function(array) { return Math.min.apply(Math, array); }; var array = [24, 2, 1, 0]; var minimum = Array.min(array); document.getElementById("result").innerHTML = "The smallest : " + minimum; </script> </body> </html>
使用解構賦值語法/展開運算子
使用展開運算子 …,我們可以將陣列或物件中的值提取到不同的變數中。我們可以使用此方法,因為 Math.min() 方法不支援直接將陣列作為輸入。
語法
使用者可以按照以下語法操作。
Math.min(...[p, q, r]);
這裡,展開運算子幫助 Math.min() 方法返回最小值。
引數
p, q, r − 數字陣列
示例
這裡,Math.min() 使用展開運算子直接計算我們的輸入並顯示輸出。
<html> <body> <h3>The smallest among numbers using the spread operator</h3> <div id="result"></div> <script> var res = Math.min(...[21, 2, 3, -2, 0, -23]); document.getElementById("result").innerHTML = res; </script> </body> </html>
使用 for 迴圈
眾所周知,這裡我們將陣列中的第一個數字視為最小值。然後我們將陣列中其餘的數字與它進行比較。最後,我們得到最小值。
語法
使用者可以按照以下語法操作。
for (var i = 0; i<arr.length; i++)
{
if (arr[i] < arr[0])
{
//arr[i] is the smallest
}
}
這裡,for 迴圈計算數字陣列,並將所有數字與第一個數字進行比較,並返回最小值。
引數
arr − 陣列
i − 陣列索引
示例
這裡,迴圈中是通用的陣列元素比較邏輯,並顯示輸出。
<html> <body> <h3>The smallest among numbers using the loop</h3> <p id="result"></p> <script> const numbers = [11, 4, 9, 0, 2]; let min = numbers[0]; for (let i = 0; i < numbers.length; i++) { if (numbers[i] < min) { min = numbers[i]; } } document.getElementById("result").innerHTML = "The smallest is " + min; </script> </body> </html>
使用 Array.reduce() 方法
這裡,我們將輸入提供給回撥函式。此函式迭代輸入並給出最小值。
語法
numsArr.reduce((r1, r2) => Math.min(r1, r2))
這裡,每次陣列迭代都會比較兩個值,並在最後返回最小值。
引數
r1, r2 − r1 是累加器,r2 是當前值。在陣列迭代期間,如果當前值小於累加器,則當前值成為下一個累加器。
示例
這裡,我們的輸入由 reduce() 處理,Math.min() 返回結果。
<html> <body> <h3>The smallest among numbers using <i>Array.reduce()</i> Method</h3> <p id="numb"></p> <p id="result"></p> <script> const nums = [6, 7, 0.3]; document.getElementById("numb").innerHTML = nums; const res = nums.reduce((a, b) => Math.min(a, b)) document.getElementById("result").innerHTML = "The smallest is " + res; </script> </body> </html>
使用 Array.sort() 方法
在 Array sort 方法中,我們在陣列的開頭獲得最小值。
語法
arr.sort()[0]
這裡,arr 是數字陣列。
示例
這裡,對輸入陣列進行 JavaScript 排序,並返回第一個值。
<html> <body> <h3>The smallest among numbers using <i>Array sort</i> method</h3> <p id="numb"></p> <p id="result"></p> <script> const srtArr = [60, 10, 80]; document.getElementById("numb").innerHTML = srtArr const res = srtArr.sort()[0] document.getElementById("result").innerHTML = "Smallest is " + res; </script> </body> </html>
本教程幫助我們學習了六種查詢所有給定數字中最小值的方法。
Math.min() 方法不接受元素陣列。reduce 陣列方法、迴圈方法和陣列應用方法更符合邏輯。
在我們學習的所有方法中,展開運算子方法和預設陣列排序方法使用簡單且效果良好。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP