如何在 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