用 JavaScript 制作相互对应的字谜词


字谜词数组

如果我们对该数组的元素进行随机排列,可以得到另一个数组,则一个数组是另一个数组的字谜词。

例如 −

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

假设我们有两个数组,arr1 和 arr2,它们是彼此的字谜词。

我们需要编写一个 JavaScript 函数,该函数接受这两个数组,并返回一个新映射数组,其长度与 arr1 和 arr2 相同。该映射数组应该包含 arr1 数组的元素在 arr2 数组中的索引。

例如 −

如果两个输入数组是 −

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 ]

更新日期:2021-02-26

142 人次浏览

开启您的 职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.