awilum.ru
Статьи Курсы Об авторе

Как найти максимальное и минимальное число в массиве в JavaScript?

В 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 };
}

Давайте разберем этот метод, который использует цикл для поиска минимального и максимального чисел в массиве.

Шаг 1: Проверка наличия элементов в массиве

Функция findMinMax начинается с проверки длины массива. Если массив пустой (длина равна 0), функция возвращает undefined, так как в пустом массиве невозможно найти минимальное или максимальное значение.

if (array.length === 0) {
    return undefined;
}

Шаг 2: Инициализация переменных минимального и максимального значения

Затем инициализируются две переменные: min и max, которые устанавливаются равными первому элементу массива.

let min = array[0];
let max = array[0];

Шаг 3: Итерация по массиву

Далее следует цикл 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];
    }
}

Шаг 4: Возврат результата

После завершения цикла функция возвращает объект с найденными минимальным и максимальным значениями.

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 для поиска минимального и максимального чисел в массиве.

Шаг 1: Проверка наличия элементов в массиве

Как и в предыдущем методе, начинаем с проверки длины массива. Если массив пустой (длина равна 0), функция возвращает undefined, так как в пустом массиве невозможно найти минимальное или максимальное значение.

Шаг 2: Использование методов Math.min и Math.max

Следующий шаг - использование методов Math.min и Math.max для нахождения минимального и максимального значения в массиве. Мы используем оператор ..., чтобы передать элементы массива в качестве аргументов для этих методов.

const min = Math.min(...array);
const max = Math.max(...array);

Шаг 3: Возврат результата

После того как найдены минимальное и максимальное значения, они возвращаются в виде объекта.

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 для выполнения операции поиска минимального и максимального значения в массиве. Это улучшает читаемость кода и делает его более эффективным. Однако первый метод практически универасльный и подходит для любых других языков программирования.

Хотите освоить JavaScript и стать востребованным разработчиком?
Присоединяйтесь к курсу JavaScript Базовый уровень прямо сейчас!
Изучите основы и продвинутые концепции, создавайте интерактивные веб-приложения и воплотите свои идеи в реальности. Не упустите шанс стать экспертом в мире разработки – начните свой путь прямо сейчас!
Обнаружили ошибку в этой статье? Хотите уточнить, обновить или добавить что-то?
Все мои статьи доступны для редактирования на GitHub. Буду благодарен за любое улучшение или исправление!