আমাদের একটি অ্যারে আছে যাতে অনেক অবজেক্ট রয়েছে। আমাদের একটি ফাংশন লিখতে হবে যা অ্যারেটির প্রথম অর্ধেকটিকে আরোহী ক্রমে সর্ট করবে।
এবং দ্বিতীয় অর্ধেকটিও আরোহী ক্রমে সর্ট করবে কিন্তু দুটি অর্ধেকের এন্ট্রিগুলো একে অপরের সাথে মিক্স হবে না।
এই স্যাম্পল অ্যারেটি বিবেচনা করুন -
const arr = [
{id:1, x: 33},
{id:2, x: 22},
{id:3, x: 11},
{id:4, x: 3},
{id:5, x: 2},
{id:6, x: 1}
];
আমাদের ফাংশনটি অবজেক্টগুলোর 'x' প্রোপার্টি অনুযায়ী এই অ্যারেটি সর্ট করবে উপরের শর্তগুলো মেনে চলে।
উদাহরণ
const arr = [
{id:1, x: 33},
{id:2, x: 22},
{id:3, x: 11},
{id:4, x: 3},
{id:5, x: 2},
{id:6, x: 1}
];
const sortInParts = array => {
const arr = array.slice();
const sorter = (a, b) => {
return a['x'] - b['x'];
};
const arr1 = arr.splice(0, arr.length / 2);
arr.sort(sorter);
arr1.sort(sorter);
return [...arr1, ...arr];
};
console.log(sortInParts(arr));
আউটপুট
কনসোলে আউটপুট হবে -
[
{ id: 3, x: 11 },
{ id: 2, x: 22 },
{ id: 1, x: 33 },
{ id: 6, x: 1 },
{ id: 5, x: 2 },
{ id: 4, x: 3 }
]