Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

JavaScript исключение некоторых элементов при поиске максимального и минимального числа в массиве

azat nuriev Ученик (236), на голосовании 5 месяцев назад
Как при поиске максимального и минимального числа в массиве исключить некоторые числа в массиве
Голосование за лучший ответ
Инспектор Жопидý Оракул (86401) 6 месяцев назад
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const excludedNumbers = [2, 5, 8];

// 1. Фильтрация массива
const filteredNumbers = numbers.filter(number => !excludedNumbers.includes(number));
const maxNumber = Math.max(...filteredNumbers);
const minNumber = Math.min(...filteredNumbers);

console.log(`Максимальное число (без ${excludedNumbers}):`, maxNumber);
console.log(`Минимальное число (без ${excludedNumbers}):`, minNumber);

// 2. Условие внутри цикла
let max = filteredNumbers[0];
let min = filteredNumbers[0];

for (let i = 1; i < filteredNumbers.length; i++) {
const currentNumber = filteredNumbers[i];

if (currentNumber > max) {
max = currentNumber;
}

if (currentNumber < min) {
min = currentNumber;
}
}

console.log(`Максимальное число (без ${excludedNumbers}):`, max);
console.log(`Минимальное число (без ${excludedNumbers}):`, min);

Объяснение:
1. Фильтрация массива:
o filter создает новый массив, содержащий только те элементы из исходного массива, которые удовлетворяют условию.
o !excludedNumbers.includes(number) проверяет, не входит ли текущее число в список исключенных чисел.
o Math.max(...filteredNumbers) и Math.min(...filteredNumbers) находят максимальное и минимальное число в отфильтрованном массиве.
2. Условие внутри цикла:
o Проходимся по отфильтрованному массиву в цикле.
o Для каждого числа проверяем, больше ли оно текущего максимума или меньше ли оно текущего минимума.
o Если да, обновляем значение максимума или минимума.
Оба варианта дают одинаковый результат: находят максимальное и минимальное число в массиве, исключая заданные числа. Выберите тот способ, который вам кажется более понятным и удобным.
Похожие вопросы