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

जावास्क्रिप्ट में संपत्ति के आधार पर वस्तुओं को समूहित करें

<घंटा/>

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

const arr = [
   {food: 'apple', type: 'fruit'},
   {food: 'potato', type: 'vegetable'},
   {food: 'banana', type: 'fruit'},
];

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक ऐसी सरणी लेता है।

तब हमारे फ़ंक्शन को ऑब्जेक्ट की "टाइप" प्रॉपर्टी के आधार पर ऐरे ऑब्जेक्ट्स को ग्रुप करना चाहिए।

इसका मतलब है कि सभी "फल" प्रकार की वस्तुओं को एक साथ समूहीकृत किया जाता है और "सब्जी" प्रकार को अलग-अलग समूहीकृत किया जाता है।

उदाहरण

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

const arr = [
   {food: 'apple', type: 'fruit'},
   {food: 'potato', type: 'vegetable'},
   {food: 'banana', type: 'fruit'},
];
const transformArray = (arr = []) => {
   const res = [];
   const map = {};
   let i, j, curr;
   for (i = 0, j = arr.length; i < j; i++) {
      curr = arr[i];
      if (!(curr.type in map)) {
         map[curr.type] = {type: curr.type, foods: []};
         res.push(map[curr.type]);
      };
      map[curr.type].foods.push(curr.food);
   };
   return res;
};
console.log(transformArray(arr));

आउटपुट

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

[
   { type: 'fruit', foods: [ 'apple', 'banana' ] },
   { type: 'vegetable', foods: [ 'potato' ] }
]

  1. जावास्क्रिप्ट स्रोत संपत्ति

    जावास्क्रिप्ट स्रोत गुण रेगेक्सपी पाठ लौटाता है जिसके विरुद्ध किसी दिए गए पैटर्न का मिलान किया जाना है। स्रोत संपत्ति के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" con

  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" />