用 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 ]
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP