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

JavaScriptで必要な合計のトリプレット


最初の引数として数値の配列を取り、2番目の引数として数値を受け取るJavaScript関数を作成する必要があります。関数は、そのようなすべてのトリプレット(連続または非連続)の配列を準備して返す必要があります。これらの配列は、2番目の引数で指定された数になります。

例-

入力配列と数値が-

の場合
const arr = [4, 2, 0, 1, 2, 6, 8, 3, 2, 5];
const num = 8;

その場合、出力配列は-

になります。
const output = [ [ 2, 2, 4 ], [ 1, 3, 4 ], [ 0, 2, 6 ], [ 1, 2, 5 ] ];

以下はコードです-

const arr = [4, 2, 0, 1, 2, 6, 8, 3, 2, 5];
const num = 8;
const tripletSum = (arr, num) => {
   if (arr.length === 3) {
      if (arr[0]+arr[1]+arr[2] === 0) {
         return [[arr[0],arr[1],arr[2]]];
      };
   };
   const results = [];
   const hashMap = {};
   for (var i=0; i<arr.length; i++) {
      for (var j=i+1; j<arr.length; j++) {
         for (var k=j+1; k<arr.length; k++) {
            if (arr[i]+arr[j]+arr[k] === num) {
               if (!hashMap[arr[i]*arr[j]*arr[k]]) {
                  results.push([arr[i],arr[j],arr[k]]);
                  results[results.length-1].sort();
                  hashMap[arr[i]*arr[j]*arr[k]] = true;
               }
            }
         }
      }
   }
   return results;
};
console.log(tripletSum(arr, num));

出力

以下はコンソール出力です-

[ [ 2, 2, 4 ], [ 1, 3, 4 ], [ 0, 2, 6 ], [ 1, 2, 5 ] ]

  1. 例を使用したJavaScriptgetPrototypeOf

    getPrototypeOf()メソッドは、ユーザーが作成したオブジェクトのプロトタイプをチェックするために使用され、2つの指定されたオブジェクトが同じプロトタイプを持っているかどうかを比較するためによく使用されます。 以下はgetPrototypeOf()関数のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="

  2. 例を使用したJavaScriptでの継承

    JavaScriptは、プロトタイプに基づくオブジェクトベースの言語です。継承は、プロトタイプオブジェクトを使用してJavaScriptで実装されます。 以下は、JavaScriptで継承を実装するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-sc