javascript - 如何比较 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/
谢谢你!
解决方案
inputArray.map(it => firstArray.indexOf(it))
使用indexOf
您可以获得数组中某个值的位置。
推荐阅读
- css - 如何在简单的 HTML 中更改复选框背景颜色
- android - 在 RoomLibrary 中创建两个表之间的关系
- ecmascript-6 - 如何覆盖 ES6 中的原生类方法?
- arrays - 如何将两个单维数组中的数字相加并将其添加到powershell中的第三个列表中
- google-sheets - 匹配子字符串中的多个值并使用特定类别
- python-3.x - ImportError:无法从部分初始化的模块“looker_dash_app.application.datatable”导入名称“init_dashboard”(循环导入)
- node.js - NodeJs Socket 部署在 AWS LoadBalancer 上不起作用
- php - 为什么即使在 docker-compose.yml 文件中指定了 MySQL 映像,也不会创建它?
- python-3.x - 按照字符串格式打印熊猫数据框列
- scala - 我们如何使用 spark 加载机器学习模型 .sav 文件