Javascript 根据另一个数组对输入的顺序对数组进行排序

Javascript 根据另一个数组对输入的顺序对数组进行排序,javascript,arrays,sorting,go,Javascript,Arrays,Sorting,Go,我有两个数组-arrOne=[10,2,3,14,1]和arrtow2=[1,2,3,5,4] 我希望对arrTwo进行排序,并对arrOne使用相同的索引更改,即arrTwo=[1,2,3,4,5],arrOne[10,2,3,1,14] 我一直试图用合并排序来实现它,但它不起作用。递归阻碍了我做我想做的事 需要注意的重要一点是,我一次获取两个整数的数据,并使用前面的数组将它们放入单独的数组中,这意味着- 输入10,1 输入2,2 输入3,3 输入14,5 输入1、4 也许可以使用不同的数据结

我有两个数组-arrOne=[10,2,3,14,1]和arrtow2=[1,2,3,5,4]

我希望对arrTwo进行排序,并对arrOne使用相同的索引更改,即arrTwo=[1,2,3,4,5],arrOne[10,2,3,1,14]

我一直试图用合并排序来实现它,但它不起作用。递归阻碍了我做我想做的事

需要注意的重要一点是,我一次获取两个整数的数据,并使用前面的数组将它们放入单独的数组中,这意味着-

输入10,1 输入2,2 输入3,3 输入14,5 输入1、4 也许可以使用不同的数据结构,但我不知道


我把go作为一个标记,因为我想用两种语言来解决它。

创建一个2d数组,其中包含2个数组的值,并在排序后提取2个数组

设arrOne=[10,2,3,14,1], arrTwo=[1,2,3,5,4]; 阿隆 //创建包含两个数组值的二维数组 .mapv,i=>[v,arrTwo[i]] //根据第一个数组元素对组合数组进行排序 .排序[a],[b]=>a-b //更新主阵列 .forEach[v1,v2],i=>{ arrOne[i]=v1; arrTwo[i]=v2; }
console.logarrOne,arrTwo为了解决这个问题,我不会使用两个数组

我会把一个对象推到一个数组中。使其更加结构化,使数据“在一起”


const data = [{
 one: 10,
 two: 1
},
{
 one: 2,
 two: 2
},

{
 one: 3,
  two: 3
},

{
 one: 14,
 two: 5
},
{
 one: 1,
 two: 4
}

要添加其他输入,请执行以下操作:

data.push({
   one: 200,
   two: 6
})
然后按“2”键排序

data.sort((a, b) => {
    return a.two-b.two
})

请注意,排序将改变数组,但如果出现问题,可以进行复制。猜测对原始数组的排序对您的用例来说并不是问题。

对两个数组的排序给出了一个很好的答案。非常棒的东西,只需想办法在Go中完成即可。谢谢你,普拉纳夫!