В JavaScript есть несколько способов найти максимальное и минимальное число в массиве.
function findMinMax(array) {
if (array.length === 0) {
return undefined;
}
let min = array[0];
let max = array[0];
for (let i = 1; i < array.length; i++) {
if (array[i] < min) {
min = array[i];
}
if (array[i] > max) {
max = array[i];
}
}
return { min, max };
}
Давайте разберем этот метод, который использует цикл для поиска минимального и максимального чисел в массиве.
Функция findMinMax
начинается с проверки длины массива. Если массив пустой (длина равна 0), функция возвращает undefined, так как в пустом массиве невозможно найти минимальное или максимальное значение.
if (array.length === 0) {
return undefined;
}
Затем инициализируются две переменные: min
и max
, которые устанавливаются равными первому элементу массива.
let min = array[0];
let max = array[0];
Далее следует цикл for
, который начинается с индекса 1
, так как мы уже рассмотрели первый элемент массива. Внутри цикла каждый элемент сравнивается с текущим значением min
и max
. Если элемент меньше текущего min
, он становится новым min
, а если больше текущего max, он становится новым max
.
for (let i = 1; i < array.length; i++) {
if (array[i] < min) {
min = array[i];
}
if (array[i] > max) {
max = array[i];
}
}
После завершения цикла функция возвращает объект с найденными минимальным и максимальным значениями.
return { min, max };
const numbers = [5, 8, 2, 10, 3, 6];
const result = findMinMax(numbers);
console.log("Минимальное число:", result.min); // Минимальное число: 2
console.log("Максимальное число:", result.max); // Максимальное число: 10
Math.min
и Math.max
function findMinMax(array) {
if (array.length === 0) {
return undefined;
}
const min = Math.min(...array);
const max = Math.max(...array);
return { min, max };
}
Давайте подробно рассмотрим метод, который использует методы Math.min
и Math.max
для поиска минимального и максимального чисел в массиве.
Как и в предыдущем методе, начинаем с проверки длины массива. Если массив пустой (длина равна 0), функция возвращает undefined
, так как в пустом массиве невозможно найти минимальное или максимальное значение.
Math.min
и Math.max
Следующий шаг - использование методов Math.min
и Math.max
для нахождения минимального и максимального значения в массиве. Мы используем оператор ...
, чтобы передать элементы массива в качестве аргументов для этих методов.
const min = Math.min(...array);
const max = Math.max(...array);
После того как найдены минимальное и максимальное значения, они возвращаются в виде объекта.
return { min, max };
const numbers = [5, 8, 2, 10, 3, 6];
const result = findMinMax(numbers);
console.log("Минимальное число:", result.min); // Минимальное число: 2
console.log("Максимальное число:", result.max); // Максимальное число: 10
Этот метод является более компактным и выразительным по сравнению с использованием цикла. Он использует встроенные методы JavaScript для выполнения операции поиска минимального и максимального значения в массиве. Это улучшает читаемость кода и делает его более эффективным. Однако первый метод практически универасльный и подходит для любых других языков программирования.