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

JavaScriptの配列の一意の共通部分


数値の2つの配列、たとえばarr1とarr2を受け取るJavaScript関数を作成する必要があります。関数は、配列の要素間の共通部分を見つける必要があります。つまり、両方の配列に表示される要素です。

唯一の条件は、交差する前に1つの要素に遭遇した場合、両方の配列に再び表示されたとしても、それを再度検討するべきではないということです。

例-

入力配列が-

の場合
const arr1 = [1, 5, 7, 3, 1];
const arr2 = [1, 7, 3, 1, 6];

その場合、出力配列は-

になります。
const output = [1, 3, 7];

ただし、順序はそれほど重要ではありません。さらに重要なのは、繰り返しの交差を考慮しないことです。

以下はコードです-

const arr1 = [1, 5, 7, 3, 1];
const arr2 = [1, 7, 3, 1, 6];
const uniqueIntersection = (arr1, arr2) => {
   const map = new Set();
   const res = [];
   arr1.forEach(el => map.add(el));
   arr2.forEach(el => {
      if (map.has(el)) {
         res.push(el);
         map.delete(el);
      };
   });
   return res;
};
console.log(uniqueIntersection(arr1, arr2));

出力

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

[1, 7, 3]

  1. JavaScriptでのConstとLet。

    Constとletは、ブロックスコープの変数を宣言するためにES2015で導入されました。 letを使用して宣言された変数は再割り当てできますが、constを使用して宣言された場合は再割り当てできません。 以下は、JavaScriptでletとconstを示すコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="wi

  2. 配列とJavaScriptでの設定。

    Setデータ型はES2015で導入されました。配列とセットの違いは、配列には重複する値を含めることができますが、セットにはできないことです。要素は、キーを使用し、要素は入力された方法でのみトラバースできるため、Setでは不可能なインデックスを使用して配列でアクセスできます。 以下は、JavaScriptの配列と設定の違いを表示するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name=&