根据数字数组对字符串数组进行排序

J.K*_*.Ko 2 javascript arrays sorting


我正在尝试执行以下操作:根据长度相等的数字数组对字符串数组进行排序。例如:

A=[a,b,c,d,e]
B=[1,3,2,5,4]

A'=[a,c,b,e,d] //<=The desired outcome
Run Code Online (Sandbox Code Playgroud)

基本上,我正在考虑基于将数组 B 排序为升序对数组 A 进行排序。在这里,我正在考虑隐式值对,就像对象一样。

我可以考虑创建一个对象,对其进行排序,然后将字符串数组分离出来,但这可能代码太多,我想知道是否有更简单的方法来实现这一点。
欢迎任何建议。非常感谢!

And*_*eas 5

你不需要在这里排序任何东西。
只需将数字用作“位置”,即可从中获取结果中当前索引/位置的值。

const input = ["a", "b", "c", "d", "e"];
const order = [1, 3, 2, 5, 4];

const result = order.map(position => input[position - 1]);

console.log(result);
Run Code Online (Sandbox Code Playgroud)