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

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


মান লজিয়ে, আমাদের নেস্টেড অবজেক্টের অ্যারে ধারণকারী একটি অবজেক্টের অ্যারে আছে নিচের মতো −

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 } ]
  }
];

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

"elements" অ্যারে প্রপার্টি-তে অধিক সংখ্যক অবজেক্ট থাকা অবজেক্টগুলো উচ্চতর র‍্যাঙ্ক পাবে।

সুতরাং, সর্টিং-এর পর অ্যারে হবে নিচের মতো −

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. জাভাস্ক্রিপ্ট - অ্যারে অবজেক্টের length প্রোপার্টি

  2. জাভাস্ক্রিপ্টে অবজেক্টের অ্যারে ID দিয়ে গ্রুপ করা

  3. জাভাস্ক্রিপ্টে ভ্যালু অনুযায়ী অবজেক্ট গ্রুপ করা

  4. জাভাস্ক্রিপ্টে নেস্টেড অ্যারে পেয়ার থেকে অবজেক্ট অ্যারে বানানো