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

JavaScript में ऑब्जेक्ट को मैनिपुलेट करके सरणी ऑब्जेक्ट सूची के आधार पर ग्रुप करना


मान लीजिए, हमारे पास ऑब्जेक्ट्स की एक सरणी है जिसमें कुछ कारों के बारे में जानकारी है जैसे -

const arr = [    {       "group":[],       "name": "All Makes",       "code": ""    },    {       "group":["Group A"],       "name": "BMW",       "code": "X821"    },    {       "group":["Group B"],       "name": "Audi",       "code": "B216"    },    {       "group":["Group B"],       "name": "Ford",       "code": "P385"    },    {       "group":["Group B", "Group C"],       "name": "Mercedes",       "code": "H801"    },    {       "group":["Group C"],       "name": "Honda",       "code": "C213"    } ];

हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसी ऑब्जेक्ट्स की सरणी लेता है। फ़ंक्शन को इस सरणी के ऑब्जेक्ट्स को प्रत्येक ऑब्जेक्ट के group गुण के आधार पर ग्रुप करना चाहिए। यदि group गुण में एक से अधिक तत्व हैं तो वह ऑब्जेक्ट दोनों ग्रुप्स में दिखाई देना चाहिए।

इसलिए, उपरोक्त सरणी के लिए, आउटपुट इस तरह दिखना चाहिए -

const output = [    {       "group": "Group A",    "cars": [       {          name: "BMW",          code: "X821"       }    ] }, {    "group": "Group B",    "cars": [       {          name: "Audi",          code: "B216"    },    {       name: "Ford",       code: "P385"    },    {       name: "Mercedes",       code: "H801"    }    ] }, {    "group": "Group C",    "cars": [       {          name: "Mercedes",          code: "H801"       },       {          name: "Honda",          code: "C213"       }    ]    } ];

उदाहरण

इसके लिए कोड होगा -

const arr = [    {       "group":[],       "name": "All Makes",       "code": ""    },    {       "group":["Group A"],       "name": "BMW",       "code": "X821"    },    {       "group":["Group B"],       "name": "Audi",       "code": "B216"    },    {       "group":["Group B"],       "name": "Ford",       "code": "P385"    },    {       "group":["Group B", "Group C"],       "name": "Mercedes",       "code": "H801"    },    {       "group":["Group C"],       "name": "Honda",       "code": "C213"    } ]; const groupTogether = (arr = []) => {    let res = []    res = Object.entries(arr.reduce((acc, { group, ...r }) => {       group.forEach(key => acc[key] = (acc[key] ||       []).concat({...r}));       return acc;    }, {}))    return res.map(([group, arr]) => ({ group, arr })); }; console.log(JSON.stringify(groupTogether(arr), undefined, 4));

आउटपुट

कंसोल में आउटपुट होगा -

[    {       "group": "Group A",       "arr": [          {               "name": "BMW",               "code": "X821"          }       ]    },  {    "group": "Group B",    "arr": [       {          "name": "Audi",          "code": "B216"       },       {          "name": "Ford",          "code": "P385"       },       {          "name": "Mercedes",          "code": "H801"       }    ] }, {    "group": "Group C",    "arr": [       {          "name": "Mercedes",          "code": "H801"       },       {          "name": "Honda",          "code": "C213"       }    ]    } ]

  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 /> <title>Document</title> <style>  

  1. - JavaScript में ऑब्जेक्ट को 2-D सरणी में बदलना

    मान लीजिए हमारे पास एक ऑब्जेक्ट है जिसमें किसी शहर के मौसम की जानकारी है - const obj = { city: New Delhi, maxTemp: 32, minTemp: 21, humidity: 78, aqi: 456, day: Tuesday, }; हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसा एक ऑब्जेक्ट लेता है। फ़ंक्शन को इस ऑब्जेक्ट के आधार पर सरणियों की एक सर