momo3141

Capibara

Jan 28th, 2023
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. export default function (data) {
  2.  
  3. return data
  4. .reduce((acc,el) =>{
  5.     el.pets.map(pet => {
  6.         if(!acc.includes(pet.name)){
  7.             acc.push(pet.name);
  8.         }
  9.     })
  10.     return acc;
  11. },[]) //array with pets unique names
  12. .sort()
  13. .map(el => {
  14.         //pets total power after each iteration
  15.         const petTotalPower = data.reduce((acc,player) => {
  16.             player.pets.map(pet => {
  17.                 if(pet.name === el){
  18.                     acc += pet.power
  19.                 }
  20.             })
  21.             return acc;
  22.             },0);
  23.         //pets max power after each iteration
  24.         const maxPetPower = data.reduce((acc,player)=>{
  25.             player.pets.map( pet => {
  26.                 if(pet.name === el && pet.power > acc){
  27.                     acc = pet.power
  28.                 }
  29.             })
  30.             return acc;
  31.             }, 0);
  32.         //filters the most powerful player => returns array with objects
  33.         const mostPowerfulPlayer = data.filter(el => {
  34.             for( let obj of el.pets){
  35.                 if (obj.power === maxPetPower){
  36.                     return true;
  37.                 }
  38.             }
  39.             return false;
  40.             })
  41.  
  42. return {
  43.         'name': el,
  44.         'totalPower': petTotalPower,
  45.         'mostPowerfulPlayer': mostPowerfulPlayer[0]
  46.         }
  47.  
  48. })
  49.  
  50. }
Advertisement
Add Comment
Please, Sign In to add comment