কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে অ্যারে সর্ট করে নির্দিষ্ট আইটেমগুলো আগে আনা


মনে করুন আমাদের নিচের মত অবজেক্টের একটি অ্যারে আছে −

const arr = [    {flag: true, other: 1},    {flag: true, other: 2},    {flag: false, other: 3},    {flag: true, other: 4},    {flag: true, other: 5},    {flag: true, other: 6},    {flag: false, other: 7} ];

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এই অ্যারেটি নিচের শর্ত অনুযায়ী সর্ট করবে −

  • যদি arr.flag === false হয়, তবে ম্যাচিং এলিমেন্টগুলো অ্যারেতে আগে রাখা হবে, তবে পূর্বের ম্যাচিং এলিমেন্টগুলোর পরেই।
  • যে এলিমেন্টগুলো ম্যাচ করে না, সেগুলো পূর্বের অর্ডারে থাকবে।
  • অ্যাপিয়ের ক్రమ গুরুত্বপূর্ণ।

উপরোক্ত অ্যারেতে আউটপুট হবে −

const output = [    {flag: false, other: 3},    {flag: false, other: 7},    {flag: true, other: 1},    {flag: true, other: 2},    {flag: true, other: 4},    {flag: true, other: 5},    {flag: true, other: 6} ];

উদাহরণ

নিচে কোডটি দেওয়া হলো −

const arr = [    {flag: true, other: 1},    {flag: true, other: 2},    {flag: false, other: 3},    {flag: true, other: 4},    {flag: true, other: 5},    {flag: true, other: 6},    {flag: false, other: 7} ]; const sortByFlag = arr => {    const sorter = (a, b) => {       if(!a['flag'] && b['flag']){          return -1;       };       if(a['flag'] && !b['flag']){          return 1;       }       return a['other'] - b['other'];    }    arr.sort(sorter); }; sortByFlag(arr); console.log(arr);

আউটপুট

কনসোলে নিম্নলিখিত আউটপুট দেখা যাবে −

[    { flag: false, other: 3 },    { flag: false, other: 7 },    { flag: true, other: 1 },    { flag: true, other: 2 },    { flag: true, other: 4 },    { flag: true, other: 5 },    { flag: true, other: 6 } ]

  1. JavaScript-এ অ্যারের প্রথম আইটেমগুলো পাওয়ার পদ্ধতি

  2. জাভাস্ক্রিপ্টে অ্যারের প্রথম n মানগুলো কীভাবে পাবেন

  3. জাভাস্ক্রিপ্টে Array.prototype.sort() মেথড

  4. জাভাস্ক্রিপ্টে অ্যারেতে প্রথম নন-কনsekutিভ নম্বর খুঁজে বের করা