কম্পিউটার

জাভাস্ক্রিপ্টে স্থায়ী হতে নির্দিষ্ট উপাদানগুলিকে পুশ করুন


ধরুন আমাদের কাছে এই ধরনের বস্তুর একটি অ্যারে আছে −

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 ===মিথ্যা হয়, তাহলে ম্যাচিং এলিমেন্টটি অ্যারেতে প্রথমে রাখা হবে, কিন্তু শুধুমাত্র পূর্ববর্তী ম্যাচিং এলিমেন্টের পরে।

  • যে উপাদানগুলি মেলে না, সেগুলি একই ক্রমে থাকে যা তারা প্রথমে ছিল৷

  • চেহারার ক্রম গুরুত্বপূর্ণ।

সুতরাং, উপরের অ্যারের জন্য, আউটপুট −

হওয়া উচিত
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. জাভাস্ক্রিপ্ট DOM কি?

  2. জাভাস্ক্রিপ্টে একটি সারি থেকে উপাদান উঁকি দেওয়া

  3. জাভাস্ক্রিপ্ট ব্যবহার করে একটি সারিতে উপাদান যোগ করুন

  4. জাভাস্ক্রিপ্ট ব্যবহার করে একটি অ্যারের মধ্যে একটি নির্দিষ্ট সংখ্যার দুটি নিকটতম উপাদান খুঁজে বের করা