Инспектор Жопидý
Оракул
(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 Если да, обновляем значение максимума или минимума.
Оба варианта дают одинаковый результат: находят максимальное и минимальное число в массиве, исключая заданные числа. Выберите тот способ, который вам кажется более понятным и удобным.