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

JavaScriptでアナグラムを相互にマッピングする


アナグラム配列:

その配列の要素をランダム化して他の配列を実現できる場合、1つの配列は別の配列のアナグラムです。

例-

[1, 2, 3] and [2, 1, 3] are anagrams of each other.

互いにアナグラムであるarr1とarr2の2つの配列があるとします。

これらの2つの配列を受け取り、arr1およびarr2と同じ長さの新しいマッピング配列を返すJavaScript関数を作成する必要があります。マッピング配列には、arr2配列に存在するarr1配列の要素のインデックスが含まれている必要があります。

例-

2つの入力配列が-

の場合
const arr1 = [23, 39, 57, 43, 61];
const arr2 = [61, 23, 43, 57, 39];

その場合、出力は-

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

arr1のインデックス0のアイテムがarr2のインデックス1にあるため

arr1のインデックス1のアイテムは、arr2のインデックス4にあります。

このためのコードは-

になります
const arr1 = [23, 39, 57, 43, 61];
const arr2 = [61, 23, 43, 57, 39];
const anagramMappings = (arr1 = [], arr2 = []) => {
   const res = [];
   for(let i = 0; i < arr1.length; i++) {
      for(let j = 0; j < arr2.length; j++) {
         if(arr1[i] == arr2[j]){
            res.push(j);
         };
      };
   };
   return res;
};
console.log(anagramMappings(arr1, arr2));

出力

そして、コンソールの出力は-

になります
[ 1, 4, 3, 2, 0 ]

  1. JavaScriptでオブジェクトをマップします。

    マップオブジェクトはES6で導入され、キーと値のペアである要素のコレクションです。マップ内のキーまたは値は、オブジェクトまたはプリミティブ値にすることができます。 以下はJavaScriptのマップオブジェクトのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initia

  2. JavaScriptでイベントオブジェクトをある関数から別の関数に渡す方法は?

    以下は、JavaScriptでイベントオブジェクトをある関数から別の関数に渡すためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <s