我有一个 Javascript 数组,我想根据另一个数组中的索引对其进行排序。在 R 中,我可以使用索引向量重新排列向量,但尝试找到 Javascript 等效项只会带来排序结果,这似乎不是我想要的(我没有对对象进行比较 - 我已经有我想要的订单了)。
myArray=[obj1, obj2, obj3];
myIndices = [1,0,2];
期望的输出:
[对象2,对象1,对象3]
最佳答案
在看到您的编辑之前,我实际上并没有真正理解您的问题。作为一个道歉,这里是一个基于向量的排序方法:
function vectorSort(arr, vector) {
const matrix = new WeakMap()
vector.forEach((indice, index) => matrix.set(arr[index], indice))
arr.sort((a, b) => matrix.get(a) - matrix.get(b))
return arr
}
带有 link到一个工作 fiddle
关于Javascript 相当于 R 的 dataVector[indicesVector]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57361893/