Javascript 基于另一个数组对数组进行排序

Javascript 基于另一个数组对数组进行排序,javascript,arrays,object,Javascript,Arrays,Object,我有两个阵列: let arrayValues = [["20", "."], ["42", "."], ["44", "."], ["6", "."], ["5", "."]] let arrayIndex = [4,5,1,2,3] 我有一个问题: 我想根据索引数组的编号对值数组进行排序-(注意第一个元素连接到第一个元素,第二个元素连接到第二个元素,依此类推)-这样最高的数字排在第一位,第二位,依此类推。此顺序需要转换为第一个数组 结果应该是: let result = ["42", ".

我有两个阵列:

let arrayValues = [["20", "."], ["42", "."], ["44", "."], ["6", "."], ["5", "."]]
let arrayIndex = [4,5,1,2,3]
我有一个问题:

我想根据索引数组的编号对数组进行排序-(注意第一个元素连接到第一个元素,第二个元素连接到第二个元素,依此类推)-这样最高的数字排在第一位,第二位,依此类推。此顺序需要转换为第一个数组

结果应该是:

let result = ["42", "."], ["20", "."], ["5", "."], ["6", "."], ["44", "."]]
因为新秩序

= [5,4,3,2,1]

我现在的问题涉及一个超级特殊的问题——但我不知道如何开始tbh

任何帮助都将不胜感激

下面是我的python代码:

arrayValues = (("20", "."), ("42", "."), ("44", "."), ("6", "."), ("5", "."))
arrayIndex = (4,5,1,2,3)
result = sorted(range(len(arrayValues)), key=lambda i:arrayIndex[i],reverse=0)

您可以获取索引,按此索引处的值将其插入,并按新顺序映射这些值

var值=[“20”、“]”、[“42”、“]”、[“44”、“]”、[“6”、“]”、[“5”、“]”、,
顺序=[4,5,1,2,3],
结果=[…order.keys()]
.sort((a,b)=>顺序[b]-顺序[a])
.map(i=>值[i]);
控制台日志(结果)

.as console wrapper{max height:100%!important;top:0;}
您只需获取索引即可:

  const result = [];

  for(let i = 0; i < arrayValues.length && i < arrayIndex.length; i++)
    result[ arrayIndex[i] - 1 ] = arrayValues[i];
const result=[];
for(设i=0;i
到目前为止,您尝试了什么?记住,“分类”不需要在适当的地方。构建新阵列并丢弃旧阵列通常是非常好的。