相关文章推荐
魁梧的四季豆  ·  c# datetime format ...·  1 年前    · 

找出数组中第二大的数js

要找出一个数组中第二大的数,可以使用以下JavaScript代码:

function findSecondLargest(arr) {
  let max = arr[0];
  let secondMax = arr[0];
  for (let i = 1; i < arr.length; i++) {
    if (arr[i] > max) {
      secondMax = max;
      max = arr[i];
    } else if (arr[i] > secondMax && arr[i] !== max) {
      secondMax = arr[i];
  return secondMax;
// 示例
const arr = [1, 3, 5, 7, 9, 2, 4, 6, 8];
const secondLargest = findSecondLargest(arr);
console.log(secondLargest); // 输出 8

上面的代码使用了一个for循环来遍历数组。使用两个变量来跟踪最大值和次大值,初始值都设置为数组的第一个元素。在遍历过程中,如果当前元素比最大值大,那么次大值就变成当前的最大值,最大值则变成当前元素;如果当前元素比次大值大,但不是最大值,那么次大值就变成当前元素。最后返回次大值即可。

这个算法的时间复杂度为O(n),其中n是数组的长度。因为只需要遍历数组一次,所以该算法非常高效。

  •