我有一個看起來像這樣的數組:cPrefs = [0:{ id: 5, name: "Sixth thing" }, 1:{ id: 3, name: "Fourth thing" }, 2:{ id: 4, name: "Fifth thing" }, 3:{ id: 0, name: "First thing" }, 4:{ id: 2, name: "Third thing" }, 5:{ id: 1, name: "Second thing" }]我還有另一個排序數組,如下所示:cOrder = ["1", "3", "2", "5"]我需要按第二個數組(具有 id)對第一個數組進行排序,并將未識別的對象放在最后(以任何順序)。因此,正確的最終排序可能如下所示:[0:{ id: 1, name: "Second thing" }, 1:{ id: 3, name: "Fourth thing" }, 2:{ id: 2, name: "Third thing" }, 3:{ id: 5, name: "Sixth thing" }, 4:{ id: 0, name: "First thing" }, 5:{ id: 4, name: "Fifth thing" }]我不確定實現這一目標的最佳方法。我努力了const output = cOrder.map(i => cPrefs[i].id)但它拋出了我的其他值,我想我可以遍歷并重建數組,但我很好奇是否有更有效的方法。
通過另一個數組(長度較短)對關聯 javascript 數組進行排序的最有效方法?
慕田峪7331174
2021-12-23 16:06:29