Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

配列JavaScriptから上位​​2つの要素を返す


JavaScriptには、並べ替えられていない順序で数値を含む数値の配列があります。私たちの仕事は、この数値の配列を受け取り、配列の上位2つの要素(配列の最大の2つの要素)である2つの要素の配列を返す関数を作成することです。

これは1回のパスで実行する必要があります。つまり、forループを1つだけ使用するなど、線形時間でこのメソッドを実行する必要があります。ES6関数を使用する場合は、必ず1回だけ使用し、メソッドのネストを避けて時間を増やす必要があります。複雑さ。

それでは、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 ]

  1. JavaScript配列from()メソッド

    JavaScriptのfrom()メソッドは、lengthプロパティを持つ任意のオブジェクトまたは反復可能なオブジェクトからArrayオブジェクトを返すために使用されます。 構文は次のとおりです- Array.from(obj, mapFunction, val) 上記では、パラメータobjは配列に変換するオブジェクト、mapFunctionは呼び出すマップ関数、valはmapFunctionを実行するときにこれとして使用する値です。 JavaScriptでfrom()メソッドを実装しましょう- 例 <!DOCTYPE html> <html> <body

  2. JavaScript Array.from()メソッド

    Array.from()は、指定された配列インスタンスから新しい配列オブジェクトを作成します。 以下は、配列from()関数のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Docume