javascript - 在 JavaScript 中根据另一个数组对数组进行排序
问题描述
我需要对一个数组进行排序,就像在这个例子中一样。
Input :
2 1 5 4 9 3 6 7 10 8
A B C D E F G H I J
Output :
1 2 3 4 5 6 7 8 9 10
B A F D C G H J E I
这是c ++中的代码,但我不知道c ++,所以如果有人可以用js编写它,我会非常感激 https://www.geeksforgeeks.org/sorting-array-according-another-array-using-pair-stl /
解决方案
您可以获取数组的索引,按所需顺序排序并将值与其索引映射。
var order = [2, 1, 5, 4, 9, 3, 6, 7, 10, 8],
values = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'],
result = [...order.keys()]
.sort((a, b) => order[a] - order[b])
.map(i => values[i]);
console.log(...result);
推荐阅读
- matlab - 是否有可能在增加时期数的同时降低准确性?
- r - 查找多个国家的匹配指标,使用 R 中的 OECD 软件包提取数据
- python - 栅格上的双线性插值以创建每日栅格文件
- azure - 如何使用 Azure CDN 规则引擎重写 URL 以删除 Azure 静态网站上的 .html 扩展名?
- laravel - 使用 laravel 查询生成器仅显示最新记录
- reactjs - 如何在不使用元掩码或雾的情况下将本地私有 geth 节点连接到网页?
- python - 使用 Pandas 访问字典
- discord - 使用 node-cron 为我的不和谐机器人运行计划提醒,遇到了一些问题
- azure-active-directory - 从 ADB2C 中的自定义策略返回简单的字符串声明
- java - 在模拟程序中更改不同对象时如何更新 SceneBuilder GUI?