javascript - 根据数字数组 : Another version (Not duplicate! 对字符串数组进行排序!)

标签 javascript arrays sorting

<分区>

我知道我上传了一个类似的问题,但我的意图不同,所以这不是一个重复的问题。

我想根据另一个数字数组对一个数组进行排序。更具体地说,如果 1 是数字数组的第 n 个元素,我想重新排列目标数组,使原始数组中的第 n 个元素成为第一个元素,依此类推。例如;

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

    intended_result: ["d", "a", "e", "b", "c"];

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

    intended_result: ["b", "e", "a", "c", "d"];

执行上述操作的 Javascript 代码是什么?有什么建议吗?

提前致谢!

最佳答案

不需要排序,你只需要应用你拥有的排列:

const result = [];
for (let i=0; i<order; i++)
  result[order[i]-1] = input[i];

关于javascript - 根据数字数组 : Another version (Not duplicate! 对字符串数组进行排序!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62690991/

相关文章:

c++ - 我还有另一个简单的 C++ 问题,即调用以数组作为参数的函数?我不断收到错误

C# 没有指定大小的数组

bash - 按排序顺序输出参数

javascript - react 原生滚动子列

javascript - 根据用户输入计算JavaScript中的变量

javascript将事件绑定(bind)到类名的更改

javascript - 按距离对对象数组进行排序

javascript - 镜像(和更改)输入字段 jquery

c++ - 缓冲波形文件/样本管理

javascript - 按隐藏输入对表进行排序