如何使用另一个数组作为参考对对象数组进行排序?

AC_Valhalla

我想使用仅具有ID的另一个数组对具有ID的对象数组进行排序,例如:

object = [
 {id: 2, name: carlos},
 {id: 1, name: maria},
 {id: 4, name: juan},
 {id: 3, name: pepe},    //this is the array that i want to be sorted or create a copy to return it
]

    [1,2,3,4,5] //this is the array that i will use as reference to sort the first one

最终结果应为:

object = [
 {id: 1, name: maria},
 {id: 2, name: carlos},
 {id: 3, name: pepe},
 {id: 4, name: juam},    //this is the array that i want to be sorted or create a copy to return it
]

即时通讯使用两个地图,但即时通讯始终获取和未定义的数组:

array_to_be_sorted.map((objects) => {
  array_reference.map((id) => {
     if (objects.id === id) {
        return {...objects}
     }
  }    
}

我使用地图是因为我认为构建bigs数组是最好的方法,因为我正在构建音乐播放器,所以不知道用户拥有多少轨道

hr先生

您可以使用Array.prototype.sort()方法获得结果。

const data = [
  { id: 2, name: 'carlos' },
  { id: 1, name: 'maria' },
  { id: 4, name: 'juan' },
  { id: 3, name: 'pepe' },
];

const order = [1, 2, 3, 4, 5];
data.sort((x, y) => order.indexOf(x.id) - order.indexOf(y.id));
console.log(data);

使用的另一种解决方案Map Object比第一种更快。

const data = [
  { id: 2, name: 'carlos' },
  { id: 1, name: 'maria' },
  { id: 4, name: 'juan' },
  { id: 3, name: 'pepe' },
];

const order = [1, 2, 3, 4, 5];
const map = new Map();
order.forEach((x, i) => map.set(x, i));
data.sort((x, y) => map.get(x.id) - map.get(y.id));
console.log(data);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

按另一个数组对对象的数组列表进行排序

来自分类Dev

根据另一个数组对对象数组进行排序

来自分类Dev

按另一个数组对对象数组进行排序

来自分类Dev

使用数组对对象进行排序并将值存储在另一个数组中

来自分类Dev

如何使用另一个数组作为模板对数组数据进行排序?

来自分类Dev

Javascript按另一个数组对对象进行排序

来自分类Dev

如何按照包含每个对象中存在的属性的唯一值的另一个数组的顺序对对象数组进行排序?

来自分类Dev

根据另一个对象数组的顺序对对象数组进行排序

来自分类Dev

使用另一个数组对固定对象数组进行排序

来自分类Dev

根据另一个键数组对对象数组进行排序

来自分类Dev

根据另一个ID数组对对象数组进行排序

来自分类Dev

参考另一个数组对数组进行排序

来自分类Dev

通过另一个对象数组对对象进行排序

来自分类Dev

如何根据另一个数组的排序顺序对多个数组进行排序

来自分类Dev

如何使用Ruby对另一个数组进行排序

来自分类Dev

通过另一个数组中包含的对象属性对Javascript数组进行排序

来自分类Dev

如何根据另一个数组的排序方式对一个数组进行排序?(JavaScript)

来自分类Dev

如何按键对对象数组进行排序,然后按排序顺序将另一个键推送到新数组?

来自分类Dev

如何根据另一个数组的位置对数组进行排序?

来自分类Dev

如何根据另一个数组的值对数组的值进行排序

来自分类Dev

根据另一个数组的值对一个数组进行排序?

来自分类Dev

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

来自分类Dev

如果值存在,则使用另一个数组对数组进行排序

来自分类Dev

如果值存在,则使用另一个数组对数组进行排序

来自分类Dev

使用另一个数组对多维数组进行排序

来自分类Dev

如何根据Java中另一个数组的值对一个数组进行排序?

来自分类Dev

使用JavaScript根据另一个数组对一个数组进行排序

来自分类Dev

使用比较器无法根据另一个数组对一个数组进行排序

来自分类Dev

javascript:使用另一个数组作为过滤器过滤对象数组

Related 相关文章

  1. 1

    按另一个数组对对象的数组列表进行排序

  2. 2

    根据另一个数组对对象数组进行排序

  3. 3

    按另一个数组对对象数组进行排序

  4. 4

    使用数组对对象进行排序并将值存储在另一个数组中

  5. 5

    如何使用另一个数组作为模板对数组数据进行排序?

  6. 6

    Javascript按另一个数组对对象进行排序

  7. 7

    如何按照包含每个对象中存在的属性的唯一值的另一个数组的顺序对对象数组进行排序?

  8. 8

    根据另一个对象数组的顺序对对象数组进行排序

  9. 9

    使用另一个数组对固定对象数组进行排序

  10. 10

    根据另一个键数组对对象数组进行排序

  11. 11

    根据另一个ID数组对对象数组进行排序

  12. 12

    参考另一个数组对数组进行排序

  13. 13

    通过另一个对象数组对对象进行排序

  14. 14

    如何根据另一个数组的排序顺序对多个数组进行排序

  15. 15

    如何使用Ruby对另一个数组进行排序

  16. 16

    通过另一个数组中包含的对象属性对Javascript数组进行排序

  17. 17

    如何根据另一个数组的排序方式对一个数组进行排序?(JavaScript)

  18. 18

    如何按键对对象数组进行排序,然后按排序顺序将另一个键推送到新数组?

  19. 19

    如何根据另一个数组的位置对数组进行排序?

  20. 20

    如何根据另一个数组的值对数组的值进行排序

  21. 21

    根据另一个数组的值对一个数组进行排序?

  22. 22

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

  23. 23

    如果值存在,则使用另一个数组对数组进行排序

  24. 24

    如果值存在,则使用另一个数组对数组进行排序

  25. 25

    使用另一个数组对多维数组进行排序

  26. 26

    如何根据Java中另一个数组的值对一个数组进行排序?

  27. 27

    使用JavaScript根据另一个数组对一个数组进行排序

  28. 28

    使用比较器无法根据另一个数组对一个数组进行排序

  29. 29

    javascript:使用另一个数组作为过滤器过滤对象数组

热门标签

归档