tablica obiektów - sumowanie właściwości

0

Cześć, mam napisać funkcję by zwracała ogólny bilans użytkowników (właściwość balance), których płeć (właściwość gender)* jest zgodna z wartością parametru gender,

const user = [
  {
    name: "Moore Hensley",
    balance: 2811,
    gender: "male"
  },
  {
    name: "Sharlene Bush",
    balance: 3821,
    gender: "female"
  },
  {
    name: "Ross Vazquez",
    balance: 3793,
    gender: "male"
  }]

nie wiem za bardzo jak mam zacząć

const getTotalBalanceByGender = (users, gender) => {

};
2
89hunter92 napisał(a):

nie wiem za bardzo jak mam zacząć

W takiej najprostszej wersji to najpierw musisz:

  1. stworzyć zmienną przechowującą wynik (nasze sum),
  2. później zrobić pętle po tablicy,
  3. stworzyć odpowiedni warunek przez if,
  4. jeśli warunek jest prawdziwy to dodać item.balance do zmiennej sum,
  5. zwrócić wynik
const getTotalBalanceByGender = (users, gender) => { 
  let sum = 0; // 1

  for (const item of users) { // 2
    if (...) { // 3
      ... // 4
    }
  }

  return sum; // 5
};

Połowę zrobiłem ja i Ty jedynie musisz uzupełnić punkt 3, oraz 4.

6

filtrowanie:

user.filter(u => u.gender === 'female')

sumowanie:

user.reduce((sum, u) => sum + u.balance, 0)
0

Czyli to co próbujesz zrobić to pogrupować elementy po właściwości, z sumowaniem innej wartości.

Jeśli chciałbyś sam znaleźć rozwiązanie mógłbyś spróbować wpisać w google javascript group by and count.

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