মান লিজিয়ে, আমাদের কাছে নিচের মতো একটি অবজেক্টের অ্যারে আছে:
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' ]