मान लीजिए, हमारे पास इस तरह की वस्तुओं की एक सरणी है -
const arr = [{ country: "cananda", count: 2 }, { country: "jamaica", count: 2 }, { country: "russia", count: 1 }, { country: "india", count: 3 }, { country: "spain", count: 2 }, { country: "portugal", count: 1 }, { country: "italy", count: 1 }];
हमें एक फ़ंक्शन लिखने की आवश्यकता होती है जो इस सरणी में लेता है, उस पर मैप करता है और देश के नामों के साथ स्ट्रिंग्स की एक सरणी देता है जिसे प्रत्येक विशेष वस्तु के लिए "गिनती" बार-बार दोहराया जाता है।
इसलिए, इस ऑब्जेक्ट के लिए फ़ंक्शन का आउटपुट होना चाहिए -
['canada', 'canada', 'jamaica', 'jamaica', 'russia', 'india', 'india', 'india','spain', 'spain','portugal', 'italy']
आइए इस फ़ंक्शन के लिए कोड लिखें। हम यहां Array.prototype.reduce() विधि का उपयोग करेंगे -
उदाहरण
const arr = [{ country: "canada", count: 2 }, { country: "jamaica", count: 2 }, { country: "russia", count: 1 }, { country: "india", count: 3 }, { country: "spain", count: 2 }, { country: "portugal", count: 1 }, { country: "italy", count: 1 }]; const repeatCount = (arr) => { return arr.reduce((acc, val) => { let { count, country } = val; while(count--){ acc.push(country); } return acc; }, []); }; console.log(repeatCount(arr));
आउटपुट
कंसोल में आउटपुट होगा -
[ 'canada', 'canada', 'jamaica', 'jamaica', 'russia', 'india', 'india', 'india', 'spain', 'spain', 'portugal', 'italy' ]