मान लीजिए हमारे पास ऑब्जेक्ट की एक सरणी है:
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 }
];
हमें एक फ़ंक्शन लिखना है जो इस सरणी को लेता है, इस पर मैप करता है और स्ट्रिंग की एक सरणी लौटाता है जिसमें देश के नाम प्रत्येक विशेष ऑब्जेक्ट के लिए "count" संख्या में दोहराए गए हों।
इस ऑब्जेक्ट के लिए फ़ंक्शन का आउटपुट होना चाहिए:
['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' ]