मान लीजिए, हमारे पास वस्तुओं की एक सरणी है जिसमें कुछ फलों और सब्जियों के बारे में डेटा शामिल है - जैसे -
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' ] } ]