Computer >> Máy Tính >  >> Lập trình >> Javascript

Ánh xạ các từ đảo ngữ với nhau trong JavaScript

Mảng đảo chữ cái:

Một mảng là một phép đảo ngữ của mảng khác nếu chúng ta có thể ngẫu nhiên hóa các phần tử của mảng đó để đạt được mảng kia.

Ví dụ -

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

Giả sử, chúng ta có hai mảng, arr1 và arr2, là các đảo ngữ của nhau.

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào hai mảng này và trả về một mảng ánh xạ mới có cùng độ dài với arr1 và arr2. Mảng ánh xạ phải chứa chỉ số của các phần tử của mảng arr1 vì chúng có trong mảng arr2.

Ví dụ -

Nếu hai mảng đầu vào là -

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

Sau đó, đầu ra phải là -

const output = [1, 4, 3, 2, 0];

bởi vì mục ở chỉ mục 0 trong arr1 ở chỉ mục 1 trong arr2

mục ở chỉ mục 1 trong arr1 ở chỉ mục 4 trong arr2, v.v.

Ví dụ

Mã cho điều này sẽ là -

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));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

[ 1, 4, 3, 2, 0 ]