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

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

हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसी एक सरणी लेता है। फ़ंक्शन को इस ऑब्जेक्ट्स की सरणी को सॉर्ट करना चाहिए।

जिन ऑब्जेक्ट्स में "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. JavaScript में ऐरे ऑब्जेक्ट की लंबाई JavaScript में ऐरे ऑब्जेक्ट की लंबाई

    JavaScript में Length प्रॉपर्टी ऑब्जेक्ट का आकार लौटाती है। स्ट्रिंग और ऐरे ऑब्जेक्ट की लंबाई के लिए कोड निम्न है -उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, i

  1. JavaScript में ऑब्जेक्ट्स की सरणी को ID के आधार पर कैसे ग्रुप करें? JavaScript में ऑब्जेक्ट्स की सरणी को ID के आधार पर कैसे ग्रुप करें?

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

  1. जावास्क्रिप्ट में वैल्यू के आधार पर ऑब्जेक्ट्स को ग्रुप कैसे करें? जावास्क्रिप्ट में वैल्यू के आधार पर ऑब्जेक्ट्स को ग्रुप कैसे करें?

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