মান লজিয়ে, আমাদের একটি অবজেক্টের অ্যারে এবং একটি স্ট্রিং-এর অ্যারে আছে নিচের মতো −
উদাহরণ
const orders = [
{ status: "pending"},
{ status: "received" },
{ status: "sent" },
{ status: "pending" }
];
const statuses = ["pending", "sent", "received"];
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এই দুটি অ্যারে নেয়। ফাংশনটির উদ্দেশ্য হলো orders অ্যারে-কে statuses অ্যারে-র এলিমেন্ট অনুযায়ী সর্ট করা।
সুতরাং, প্রথম অ্যারে-র অবজেক্টগুলো দ্বিতীয় অ্যারে-র স্ট্রিং অনুযায়ী সাজানো হবে।
উদাহরণ
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' }
]