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

जावास्क्रिप्ट में कुंजी द्वारा वस्तुओं की एक सरणी को कैसे समूहित करें

<घंटा/>

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

const arr = [
   {
      'make': 'audi',
      'model': 'r8',
      'year': '2012'
   }, {
      'make': 'audi',
      'model': 'rs5',
      'year': '2013'
   }, {
      'make': 'ford',
      'model': 'mustang',
      'year': '2012'
   }, {
      'make': 'ford',
      'model': 'fusion',
      'year': '2015'
   }, {
      'make': 'kia',
      'model': 'optima',
      'year': '2012'
   },
];

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो वस्तुओं की एक ऐसी सरणी लेता है। तब फ़ंक्शन को वस्तुओं को उनकी 'मेक' संपत्ति के आधार पर एक साथ समूहित करना चाहिए।

आउटपुट

इसलिए, आउटपुट कुछ इस तरह दिखना चाहिए -

const output = {
   'audi': [
   {
      'model': 'r8',
      'year': '2012'
   }, {
      'model': 'rs5',
      'year': '2013'
   },
],
'ford': [
   {
      'model': 'mustang',
      'year': '2012'
   }, {
      'model': 'fusion',
      'year': '2015'
   }
],
'kia': [
   {
      'model': 'optima',
      'year': '2012'
   }
   ]
};

उदाहरण

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

const arr = [
   {
      'make': 'audi',
      'model': 'r8',
      'year': '2012'
   }, {
      'make': 'audi',
      'model': 'rs5',
      'year': '2013'
   }, {
      'make': 'ford',
      'model': 'mustang',
      'year': '2012'
   }, {
      'make': 'ford',
      'model': 'fusion',
      'year': '2015'
   }, {
      'make': 'kia',
      'model': 'optima',
      'year': '2012'
   },
];
const groupByMake = (arr = []) => {
   let result = [];
   result = arr.reduce((r, a) => {
      r[a.make] = r[a.make] || [];
      r[a.make].push(a);
      return r;
   }, Object.create(null));
   return result;
};
console.log(groupByMake(arr));

आउटपुट

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

{
   audi: [
      { make: 'audi', model: 'r8', year: '2012' },
      { make: 'audi', model: 'rs5', year: '2013' }
   ],
   ford: [
      { make: 'ford', model: 'mustang', year: '2012' },
      { make: 'ford', model: 'fusion', year: '2015' }
   ],
   kia: [ { make: 'kia', model: 'optima', year: '2012' } ]
}

  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.

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

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