Чтобы найти второе по величине число в JavaScript, вы можете использовать различные методы. Вот несколько подходов:
Метод 1: сортировка
Вы можете отсортировать массив чисел в порядке убывания, а затем получить второй элемент.
function findSecondLargest(numbers) {
numbers.sort(function(a, b) {
return b - a;
});
return numbers[1];
}
var numbers = [5, 10, 3, 8, 1];
var secondLargest = findSecondLargest(numbers);
console.log(secondLargest); // Output: 8
Метод 2: цикл
Вы можете перебирать массив и отслеживать самые большие и вторые по величине числа.
function findSecondLargest(numbers) {
var largest = -Infinity;
var secondLargest = -Infinity;
for (var i = 0; i < numbers.length; i++) {
if (numbers[i] > largest) {
secondLargest = largest;
largest = numbers[i];
} else if (numbers[i] > secondLargest && numbers[i] < largest) {
secondLargest = numbers[i];
}
}
return secondLargest;
}
var numbers = [5, 10, 3, 8, 1];
var secondLargest = findSecondLargest(numbers);
console.log(secondLargest); // Output: 8
Метод 3: использование Math.max() и оператора распространения
Вы можете использовать функцию Math.max() вместе с оператором распространения (…), чтобы найти максимальное значение в массиве. Удалив наибольшее число из массива, вы сможете снова найти максимум, что даст вам второе по величине число.
function findSecondLargest(numbers) {
var largest = Math.max(...numbers);
numbers = numbers.filter(function(num) {
return num !== largest;
});
return Math.max(...numbers);
}
var numbers = [5, 10, 3, 8, 1];
var secondLargest = findSecondLargest(numbers);
console.log(secondLargest); // Output: 8