Filtrowanie tablicy i metoda reduce()

0

mamy tablicę:

users =[ {
    name: "Elma Head"
    balance: 2278,
    gender: "female"
  },
  {
    name: "Carey Barr",
    balance: 3951,
    gender: "male"
  },
  {
    name: "Blackburn Dotson",
    balance: 1498,
    gender: "male"
  },
  {
    name: "Sheree Anthony",
    balance: 2764,
    gender: "female"
  }
]

muszę napisać funkcję, która będzie zwracać sumę właściwości balance dla wszystkich gender:"female" - trzeba tu łańcuchowania metod (metody filtrowania, reduce()
nie mam za bardzo pomysłu jak to ugryźć, mam tyle ale się zaciąłem

const getTotalBalanceByGender = (users, gender) => {
return [...users]
  .filter((gen,index,array)=>array.indexOf(gen)=== index)
  .reduce();
};
4

Mozesz filtrowac zanim uzyjesz reduce
czyli

users.filter((user)=> user.gender == 'female')
  .reduce ...

ale mozesz miec to tylko w reduce z warunkiem dla gender

users.reduce((a, b)=> a + (b.gender == 'female' ? b.balance : 0), 0);
3
const getTotalBalanceByGender = (users, gender) => {
	return users.filter((item) => item.gender == gender)
    .reduce((acc, curr) => acc+curr.balance, 0);
};

console.log(getTotalBalanceByGender(users, 'female'))

1 użytkowników online, w tym zalogowanych: 0, gości: 1