JavaScript 找到数组的最小/最大元素
本文将展示如何使用JavaScript从数组中获取最小/最大元素。可以使用以下方法找到数组中的最小和最大元素:
查找数组的最小/最大元素的方法:
- 使用Math.min()和Math.max()方法:
- 通过遍历数组:
- 使用JavaScript Array.reduce()方法:
方法1:使用Math.min()和Math.max()方法
Math对象的min()和max()方法是静态方法,它们返回给定数组的最小和最大元素。可以使用spread(…)运算符将这些函数传递给一个数组。spread运算符允许可迭代对象在期望多个参数的位置展开。在这种情况下,它会自动展开数组并将数字传递给函数。
语法:
minValue = Math.min(...array);
maxValue = Math.max(...array);
示例: 在这个示例中,我们将看到JavaScript Math.min() 和 Math.max() 方法的基本实现。
function findMinMax() {
let Arr = [50, 60, 20, 10, 40];
let minValue = Math.min(...Arr);
let maxValue = Math.max(...Arr);
console.log("Minimum element is:" + minValue);
console.log("Maximum Element is:" + maxValue);
}
findMinMax()
输出
Minimum element is:10
Maximum Element is:60
方法2:通过遍历数组来迭代
通过遍历数组并跟踪最小和最大元素来保持迭代过程。可以通过遍历数组中的所有元素并将最小和最大元素与当前最小和最大值进行比较,更新最小和最大元素。最小和最大值被初始化为Infinity和-Infinity。
语法:
minValue = Infinity;
maxValue = -Infinity;
for (item of array) {
// Find minimum value
if (item < minValue)
minValue = item;
// Find maximum value
if (item > maxValue)
maxValue = item;
}
示例: 在这个示例中,我们将通过迭代数组的元素来找到数组中的最大值和最小值。
function findMinMax() {
let Arr = [50, 60, 20, 10, 40];
let minValue = Infinity;
let maxValue = -Infinity;
for (let item of Arr) {
// Find minimum value
if (item < minValue)
minValue = item;
// Find maximum value
if (item > maxValue)
maxValue = item;
}
console.log("Minimum element is:" + minValue);
console.log("Minimum element is:" + maxValue);
}
findMinMax();
输出
Minimum element is:10
Minimum element is:60
方法3:使用JavaScript的数组.reduce()方法
Javascript中的 arr.reduce() 方法用于将数组缩减成一个单独的值,并对数组的每个值(从左到右)执行一个提供的函数,并将函数的返回值存储在一个累加器中。
语法:
array.reduce( function(total, currentValue, currentIndex, arr),
initialValue )
示例:
// Input array
let Arr = [50, 60, 20, 10, 40];
// Getting min value
let minValue = Arr.reduce((acc, current) => Math.min(acc, current));
// Getting max value
let maxValue = Arr.reduce((acc, current) => Math.max(acc, current));
// Display output
console.log("Minimum element is:" + minValue);
console.log("Minimum element is:" + maxValue);
输出
Minimum element is:10
Minimum element is:60