📅  最后修改于: 2023-12-03 15:38:17.799000             🧑  作者: Mango
在 JavaScript 中,我们通常使用 Math 对象中的 min() 和 max() 函数来找到数组中的最小值和最大值。然而,有时候我们可能需要找到没有 pre-built 函数的最小值和最大值。在这篇文章中,我们将介绍一些方法来实现这一目标。
我们可以使用 for 循环来遍历数组并找到最小值和最大值。首先,我们将数组的第一个元素作为最小值和最大值。然后我们遍历数组,如果当前元素小于最小值,我们将其替换为最小值,如果当前元素大于最大值,我们将其替换为最大值。最后,我们返回找到的最小值和最大值。
function findMinMax(arr) {
let min = arr[0];
let max = arr[0];
for (let i = 1; i < arr.length; i++) {
if (arr[i] < min) {
min = arr[i];
}
if (arr[i] > max) {
max = arr[i];
}
}
return [min, max];
}
这个函数接受一个数组作为参数,并返回一个包含数组中最小值和最大值的数组。
我们也可以使用数组的 reduce() 方法,并结合一个回调函数来找到最小值和最大值。在回调函数中,我们比较当前元素和累加器的值,如果当前元素小于累加器的值,我们更新最小值,如果当前元素大于累加器的值,我们更新最大值。最后,我们返回找到的最小值和最大值。
function findMinMax(arr) {
let result = arr.reduce(function(acc, val) {
if (val < acc[0]) {
acc[0] = val;
}
if (val > acc[1]) {
acc[1] = val;
}
return acc;
}, [arr[0], arr[0]]);
return result;
}
这个函数也接受一个数组作为参数,并返回一个包含数组中最小值和最大值的数组。与第一个方法不同的是,reduce() 方法只需要一个遍历数组的循环,因此也更加高效。
以上是在 JavaScript 中找到没有数学函数的最小值最大值的两种方法。无论你使用哪种方法,都需要了解这些可以让你更加灵活地操作数字数组的技巧。