簡體   English   中英

通過查看另一個數組順序對對象數組進行排序

[英]Sort object array by looking at another array order

我試圖通過查看另一個數組順序來排序對象數組,我的第一個數組是這樣的

["HV001O3XL", "HV001OSML", "HV001OLGE"]

和我的對象數組是這樣的:

[{productcode: "HV001OSML", price: 6, qty: "2", desc: "HV001 WAISTCOAT ORN", stock: "138"},{productcode: "HV001OLGE", price: 6, qty: "1", desc: "HV001 WAISTCOAT ORN", stock: "271"},{productcode: "HV001O3XL", price: 6, qty: "1", desc: "HV001 WAISTCOAT ORN", stock: "1112"}]

我想重新調整對象數組的位置,以便使object.productcode與第一個數組匹配,HV001O3XL首先而不是HV001OSML等。這可能是用angular或javascript嗎?

 const objs = [ { productcode: "HV001OSML", price: 6, qty: "2", desc: "HV001 WAISTCOAT ORN", stock: "138" }, { productcode: "HV001OLGE", price: 6, qty: "1", desc: "HV001 WAISTCOAT ORN", stock: "271" }, { productcode: "HV001O3XL", price: 6, qty: "1", desc: "HV001 WAISTCOAT ORN", stock: "1112" } ]; const result = [ "HV001O3XL", "HV001OSML", "HV001OLGE" ].map((key) => objs.find(item => item.productcode === key)); console.log(result); 

const orders = ['a', 'b', 'c', 'd']; let objects = [{ code: 'd' }, { code: 'c' }, { code: 'a', }, { code: 'b' }] objects.sort((a, b) => orders.indexOf(a.code) - orders.indexOf(b.code)); console.log(objects);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM