Exercise 9: Find Second Largest Number

Problem Statement

Create a function `secondLargest(arr)` that returns second largest number from array. Example: secondLargest([3, 7, 2, 9, 1]) → 7

Sample Output:

secondLargest([3, 7, 2, 9, 1]) => 7
secondLargest([10, 10, 5]) => 10
secondLargest([1]) => null

Solution

const secondLargest = (arr) => {
  const nums = arr.filter(n => typeof n === "number" && Number.isFinite(n));
  if (nums.length < 2) return null;
  const sorted = [...nums].sort((a, b) => b - a);
  return sorted[1];
};

Explanation

Overall Goal:

  • Array me se second largest number find karna.

Line 1: Function header

  • const secondLargest = (arr) => {

Line 2: Filter valid numbers

  • const nums = arr.filter(n => typeof n === "number" && Number.isFinite(n));

Line 3: Validation

  • if (nums.length < 2) return null;

Line 4: Sort descending

  • const sorted = [...nums].sort((a, b) => b - a);

Line 5: Return second

  • return sorted[1];

Real world:

  • Leaderboards: second place.
  • Analytics: second highest values.