gpt4 book ai didi

javascript - 如何通过另一个数组 ID 对数组进行排序 (lodash/javascript)

转载 作者:行者123 更新时间:2023-11-28 12:16:26 26 4
gpt4 key购买 nike

我希望第二个数组像第一个数组一样按属性 id 排序。

这是我的数组

第一个数组

data : 
items:
0: {id: 14, attributes: Array(1)}
1: {id: 8, attributes: Array(1)}
2: {id: 4, attributes: Array(1)}
3: {id: 1, attributes: Array(2)}
4: {id: 2045, attributes: Array(2)}

第二个数组

data : 
items:
0: {id: 1, name: "test Product 1"}
1: {id: 4, name: "test Product 1"}
2: {id: 8, name: "test Product 1"}
3: {id: 14, name: "test Product 1"}
4: {id: 2045, name: "test Product 1"}

我尝试过这样的:

Javascript - sort array based on another array

但我似乎无法让它工作。我知道这个问题被问了很多,但我就是不明白。

最佳答案

洛达什

sorted = _.sortBy(items1, x => _.findIndex(items2, y => x.id === y.id))

如果您的数组相当长,那么首先构建索引,然后按索引排序可能会更有效:

index = _.fromPairs(_.map(items2, (x, i) => [x.id, i]));
sorted = _.sortBy(items1, x => index[x.id])

关于javascript - 如何通过另一个数组 ID 对数组进行排序 (lodash/javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48701488/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com