मान लीजिए, हमारे पास वस्तुओं की एक सरणी और इस तरह के तार की एक सरणी है -
उदाहरण
const orders = [ { status: "pending"}, { status: "received" }, { status: "sent" }, { status: "pending" } ]; const statuses = ["pending", "sent", "received"];
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो दो ऐसे सरणियों को लेता है। फ़ंक्शन का उद्देश्य स्थिति सरणी के तत्वों के अनुसार ऑर्डर सरणी को सॉर्ट करना होना चाहिए।
इसलिए, पहली सरणी में वस्तुओं को दूसरे सरणी में स्ट्रिंग के अनुसार व्यवस्थित किया जाना चाहिए।
उदाहरण
const orders = [ { status: "pending" }, { status: "received" }, { status: "sent" }, { status: "pending" } ]; const statuses = ["pending", "sent", "received"]; const sortByRef = (orders, statuses) => { const sorter = (a, b) => { return statuses.indexOf(a.status) - statuses.indexOf(b.status); }; orders.sort(sorter); }; sortByRef(orders, statuses); console.log(orders);
आउटपुट
और कंसोल में आउटपुट होगा -
[ { status: 'pending' }, { status: 'pending' }, { status: 'sent' }, { status: 'received' } ]