返回数组JavaScript中的前两个元素

JavaScript中有一个数字数组,其中包含未排序顺序的数字。我们的工作是编写一个函数,该函数接受此数字数组并返回一个包含两个元素的数组,即该数组的顶部两个元素(该数组的最大两个元素)。

我们必须一次性执行此操作,即,我们需要在线性时间内执行此方法,例如仅使用一个for循环,或者如果使用ES6函数,则必须确保仅使用一次并避免使用嵌套的方法增加时间复杂度。

因此,现在让我们使用Array.prototype.reduce()方法编写代码-

示例

const arr = [23, 65, 67, 23, 2, 6, 87, 23, 45, 65, 3, 234, 3];

const topTwo = arr => {

   if(arr.length < 2){

      return false;

   };

   return arr.reduce((acc, val) => {

      if(val > acc[0]){

         let t = acc[0];

         acc[0] = val;

         acc[1] = t;

      }else if(val > acc[1]){

         acc[1] = val;

      };

      return acc;

   }, [-Infinity, -Infinity]);

};

console.log(topTwo(arr));

输出结果

控制台中的输出将为-

[ 234, 87 ]

以上是 返回数组JavaScript中的前两个元素 的全部内容, 来源链接: utcz.com/z/331246.html

回到顶部