从数组中获取第二个最小元素而不对JavaScript进行排序

我们有一个数字数组,并且需要编写一个函数,该函数返回数组中的第二个最小值。

例如-如果数组是-

const arr = [67, 87, 56, 8, 56, 78, 54, 67, 98, 56, 54];

然后输出应为以下内容-

54

因为54是8之后的最小值

示例

const arr = [67, 87, 56, 8, 56, 78, 54, 67, 98, 56, 54];
const minimumIndex = arr => {
   return arr.indexOf(Math.min(...arr));
};
const secondMinimum = arr => {
   const copy = arr.slice();
   copy.splice(minimumIndex(copy), 1);
   return copy[minimumIndex(copy)];
};
console.log(secondMinimum(arr));

输出结果

控制台中的输出将为-

54
猜你喜欢