如果我们可以随机化该数组的元素以实现另一个数组,则一个数组就是另一个数组的类似物。
例如-
[1, 2, 3] and [2, 1, 3] are anagrams of each other.
假设我们有两个数组,arr1和arr2彼此是字谜。
我们需要编写一个JavaScript函数,该函数接受这两个数组并返回一个新的映射数组,该数组的长度与arr1和arr2相同。映射数组应包含arr2数组中存在的arr1数组元素的索引。
例如-
如果两个输入数组是-
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 ]