Javascript 相当于 R 的 dataVector[indicesVector]?

标签 javascript arrays r

我有一个 Javascript 数组,我想根据另一个数组中的索引对其进行排序。在 R 中,我可以使用索引向量重新排列向量,但尝试找到 Javascript 等效项只会带来排序结果,这似乎不是我想要的(我没有对对象进行比较 - 我已经有我想要的订单了)。

myArray=[obj1, obj2, obj3];

myIndi​​ces = [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/

相关文章:

javascript - 输入框中的标记不应为零

arrays - 如何通过循环对象的子数组来过滤父对象

C#删除列表中以#开头的元素

r - 将列联表从 R 导出到 Excel 的最有效方法

windows - 使用 Windows 资源管理器在源目录中启动 R

javascript - Javascript 中日期的错误行为

javascript - ajax后在php中获取输入复选框值

javascript - jQuery 属性 ('onclick' )

java - 两个do while循环

r - 在刻面外/刻面之间添加显着性线