মান লিজিয়ে, আমাদের একটি অ্যারে আছে যেটিতে কিছু প্লেয়ারের আলাদা আলাদা স্পোর্টসের স্কোর রয়েছে। স্কোরগুলো এইরকম রিপ্রেজেন্ট করা হয়েছে -
const scores = [ {sport: 'cricket', aman: 54, vishal: 65, jay: 43, hardik: 88, karan:23}, {sport: 'soccer', aman: 14, vishal: 75, jay: 41, hardik: 13, karan:73}, {sport: 'hockey', aman: 43, vishal: 35, jay: 53, hardik: 43, karan:29}, {sport: 'volleyball', aman: 76, vishal: 22, jay: 36, hardik: 24, karan:47}, {sport: 'baseball', aman: 87, vishal: 57, jay: 48, hardik: 69, karan:37}, ]; আমাদের একটি ফাংশন লিখতে হবে যা এই অ্যারেটি নিবে এবং একটি একক অবজেক্ট রিটার্ন করবে যেটির sport কী এর ভ্যালু হবে "all" এবং বাকি প্লেয়ার কীগুলোর ভ্যালু হবে অ্যারেতে থাকা ভিন্ন অবজেক্টগুলোর ভ্যালুগুলোর সমষ্টি। তাহলে এই ফাংশনের কোড লিখি -
আমরা Array.prototype.reduce() মেথড ব্যবহার করব সব প্লেয়ারদের ভিন্ন স্পোর্টসের স্কোরের সমষ্টি বের করতে। এটি করার কোড হবে -
উদাহরণ
const scores = [ {sport: 'cricket', aman: 54, vishal: 65, jay: 43, hardik: 88, karan:23}, {sport: 'soccer', aman: 14, vishal: 75, jay: 41, hardik: 13, karan:73}, {sport: 'hockey', aman: 43, vishal: 35, jay: 53, hardik: 43, karan:29}, {sport: 'volleyball', aman: 76, vishal: 22, jay: 36, hardik: 24, karan:47}, {sport: 'baseball', aman: 87, vishal: 57, jay: 48, hardik: 69, karan:37}, ]; const sumScores = (arr) => { return arr.reduce((acc, val) => { Object.keys(val).forEach(key => { if(key!== 'sport'){ acc[key] += val[key]; }; }); if(acc['sport'] !== 'all'){ acc['sport'] = 'all'; }; return acc; }); }; console.log(sumScores(scores));আউটপুট
কনসোলে আউটপুট হবে -
{ sport: 'all', aman: 274, vishal: 254, jay: 221, hardik: 237, karan: 209 }