Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

जावास्क्रिप्ट में नेस्टेड सरणी की लंबाई के आधार पर वस्तुओं की एक सरणी को कैसे क्रमबद्ध करें

<घंटा/>

मान लीजिए, हमारे पास वस्तुओं की एक सरणी है जिसमें इस तरह की वस्तुओं की नेस्टेड सरणी है -

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. जावास्क्रिप्ट - सरणी वस्तुओं की लंबाई

    जावास्क्रिप्ट में लंबाई संपत्ति वस्तु का आकार लौटाती है। स्ट्रिंग और सरणी ऑब्जेक्ट की लंबाई के लिए कोड निम्नलिखित है - उदाहरण दस्तावेज़ बॉडी { फॉन्ट-फ़ैमिली:सेगो यूआई, ताहोमा, जिनेवा, वर्दाना, सेन्स-सेरिफ़; } .नमूना, .परिणाम {फ़ॉन्ट-आकार:18पीएक्स; फ़ॉन्ट-वजन:500; लाल रंग; }जावास्क्रिप्ट लंबाई गुणयहा

  1. जावास्क्रिप्ट में आईडी द्वारा वस्तुओं की सरणी कैसे समूहित करें?

    जावास्क्रिप्ट में आईडी के आधार पर वस्तुओं के समूह के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <titl

  1. जावास्क्रिप्ट में किसी मान के आधार पर वस्तुओं को कैसे समूहित करें?

    जावास्क्रिप्ट में मान के आधार पर वस्तुओं को समूहबद्ध करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />