मान लीजिए, हमारे पास ऑब्जेक्ट्स का एक ऐरे है जिसमें कुछ फलों और सब्जियों के बारे में डेटा है:
const arr = [ {food: 'apple', type: 'fruit'}, {food: 'potato', type: 'vegetable'}, {food: 'banana', type: 'fruit'}, ];हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसा ऐरे लेता है।
हमारा फ़ंक्शन फिर ऑब्जेक्ट्स के "type" प्रॉपर्टी के आधार पर ऐरे ऑब्जेक्ट्स को ग्रुप करना चाहिए।
इसका मतलब है कि सभी "fruit" टाइप ऑब्जेक्ट्स एक साथ ग्रुप होंगे और "vegetable" टाइप अलग से ग्रुप होंगे।
उदाहरण
इसके लिए कोड होगा:
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' ] } ]