首页 > 解决方案 > 如何比较 2 个数组,从数组的匹配项中返回键以重写第一个数组中的键

问题描述

我有 2 个数组:

const firstArray = ["A", "B", "1", "2", "F", "89", "8", "K"];
const inputArray = ["1", "B", "F", "A", "89"];

for (const index of firstArray.keys()) {
  console.log(index);
}

我从我的数组中获取密钥:0、1、2、3、4、5、6、7、8

for (const index of inputArray .keys()) {
  console.log(index);
}

我从输入数组中获取键:0、1、2、3、4

我用它来比较和检查所有元素是否都在 firstArray 中:

const foundedArray = inputArray.filter(element => firstArray.includes(element));

到这里为止一切都很好,但是现在我需要将 firstArray 中的键放入我的 inputArray 中,以使它们与 firstArray 中的相同匹配值匹配。

我需要将 firstArray 中的键放入我的输入数组中:

Value ["1", "B", "F", "A", "89"];
Keys    2,   1,   4,   0,   5

我卡在这里我怎么能写这个。

操场:https ://jsfiddle.net/alaber/u792gdfa/

谢谢你!

标签: javascriptarrays

解决方案


  inputArray.map(it => firstArray.indexOf(it))

使用indexOf您可以获得数组中某个值的位置。


推荐阅读