কম্পিউটার

জাভাস্ক্রিপ্টে নেস্টেড অ্যারের দৈর্ঘ্যের উপর ভিত্তি করে কীভাবে অবজেক্টের অ্যারে সাজানো যায়


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

const arr = [
   { name: "Cat1", elements : [
   { name: name, id: id } ]
},
{ name: "Cat2", elements : [
   { name: name, id: id },
   { name: name, id: id },
   { name: name, id: id } ]
},
{ name: "Cat3", elements : [
   { name: name, id: id },
   { name: name, id: id } ]
   }
];

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

"উপাদান" অ্যারে প্রপার্টিতে বেশি সংখ্যক অবজেক্ট ধারণ করা বস্তুর র‍্যাঙ্ক উচ্চ হওয়া উচিত।

তাই, সাজানোর পর অ্যারে দেখতে হবে এইরকম −

const output = [
   { name: "Cat2", elements : [
      { name: name, id: id },
      { name: name, id: id },
      { name: name, id: id } ]
   },
   { name: "Cat3", elements : [
      { name: name, id: id },
      { name: name, id: id } ]
   },
      { name: "Cat1", elements : [
      { name: name, id: id } ]
   }
];

উদাহরণ

এর জন্য কোড হবে −

const arr = [
   { "name": "Cat1", elements : [
   { "name": "name", "id": "id" } ]
   },
   { "name": "Cat2", elements : [
   { "name": "name", "id": "id" },
   { "name": "name", "id": "id" },
   { "name": "name", "id": "id" } ]
   },
   { "name": "Cat3", elements : [
   { "name": "name", "id": "id" },
   { "name": "name", "id": "id" } ]
   }
];
const sorter = (a, b) => {
   if(a.elements.length > b.elements.length) {
      return −1;
   } else {
      return 1;
   }
}
arr.sort(sorter);
console.log(JSON.stringify(arr, undefined, 4));

আউটপুট

এবং কনসোলে আউটপুট হবে −

[
   {
      name": "Cat2",
      "elements": [
         {
            "name": "name",
            "id": "id"
         },
         {
            "name": "name",
            "id": "id"
         },
         {
            "name": "name",
            "id": "id"
         }
      ]
      },      
      {
         "name": "Cat3",
         "elements": [
      {
         "name": "name",
         "id": "id"
      },
      {
         "name": "name",
         "id": "id"
      }
      ]
   },
   {
      "name": "Cat1",
      "elements": [
         {
            "name": "name",
            "id": "id"
         }
      ]
   }
]

  1. জাভাস্ক্রিপ্ট - অ্যারে অবজেক্টের দৈর্ঘ্য

  2. কিভাবে জাভাস্ক্রিপ্টে আইডি দ্বারা অবজেক্টের অ্যারে গ্রুপ করবেন?

  3. জাভাস্ক্রিপ্টে একটি মানের উপর ভিত্তি করে বস্তুগুলিকে কীভাবে গ্রুপ করবেন?

  4. জাভাস্ক্রিপ্টে একটি অ্যারের বস্তুতে নেস্টেড অ্যারে জোড়াকে কীভাবে রূপান্তর করবেন?