নিচের অ্যারে date ও isImportant অনুযায়ী সর্ট করতে হবে। isImportant true वाले সব অবজেক্ট false वालों से উপরে থাকবে এবং দুটি গ্রুপই date অনুযায়ী সর্টেড থাকবে।
আমাদের অ্যারে:
const array = [{ id: 545, date: 591020824000, isImportant: false, }, { id: 322, date: 591080224000, isImportant: false, }, { id: 543, bdate: 591080424000, isImportant: true, }, { id: 423, date: 591080225525, isImportant: false, }, { id: 135, date: 591020225525, isImportant: true, }, ];
এরপর array sort মেথড ব্যবহার করে নিচের মতো ফলাফল পাওয়া যায়:
array.sort((a, b) => { if(a.isImportant && !b.isImportant){ return -1; }else if(!a.isImportant && b.isImportant){ return 1; }else{ return b.date-a.date; } });
sort() কলব্যাক ফাংশন সাধারণত দুটি আর্গুমেন্ট a, b নেয় যা অ্যারের দুটি এলিমেন্ট। -1 রিটার্ন করলে প্রথম এলিমেন্ট হায়ার র্যাঙ্ক পায়, 1 রিটার্ন করলে দ্বিতীয় এলিমেন্ট। 0 রিটার্ন করলে কোনো পরিবর্তন নেই। আমরা চেক করি a বা b-এর isImportant false কিনা, হলে সেটি লোয়ার র্যাঙ্ক দেই। না হলে date অনুযায়ী র্যাঙ্ক করি।
উদাহরণ
পুরো উদাহরণ নিচে:
const array = [{ id: 545, date: 591020824000, isImportant: false, }, { id: 322, date: 591080224000, isImportant: false, }, { id: 543, bdate: 591080424000, isImportant: true, }, { id: 423, date: 591080225525, isImportant: false, }, { id: 135, date: 591020225525, isImportant: true, }, ]; array.sort((a, b) => { if(a.isImportant && !b.isImportant){ return -1; }else if(!a.isImportant && b.isImportant){ return 1; }else{ return b.date-a.date; } }); console.log(array);
আউটপুট
কনসোলে কোডের আউটপুট হবে:
[ { id: 3, date: 591080424000, isImportant: true },{ id: 5, date: 591020225525, isImportant: true }, { id: 4, date: 591080225525, isImportant: false },{ id: 2, date: 591080224000, isImportant: false }, { id: 1, date: 591020824000, isImportant: false } ]