Algorithme Splitwise en JavaScript-Exemples de code

Radu TM

Algorithme Splitwise en JavaScript

JavaScript par Radu TM June 10, 2022

// Algorithme de Splitwise

// 1. Nous commençons par créer un objet «paiement». Cet objet suivra qui doit de l'argent à qui.

var payment = {};

// 2. Nous parcourons ensuite chaque personne du groupe.

for (var i = 0; i < group.length; i++) {
  // 3. Pour chaque personne, nous parcourons chacun de leurs amis.
  for (var j = 0; j < group[i].friends.length; j++) {
    // 4. Si l'ami n'est pas dans l'objet de paiement, nous le créons et mettons son solde à 0.
    if (!payment.hasOwnProperty(group[i].friends[j])) {
      payment[group[i].friends[j]] = 0;
    }
    // 5. Nous calculons ensuite combien la personne doit à son ami. Nous le faisons en prenant le montant total qu'ils ont dépensé, divisé par le nombre d'amis, puis en soustrayant le montant que leur ami leur a déjà payé.
    var amountOwed = (group[i].amount / group[i].friends.length) - payment[group[i].friends[j]];
    // 6. Si le montant dû est inférieur à 0, cela signifie que l'ami a déjà payé plus que sa part, donc nous n'avons rien à faire. Sinon, nous ajoutons le montant dû à l'objet de paiement.
    if (amountOwed > 0) {
      payment[group[i].friends[j]] += amountOwed;
    }
  }
}

// 7. Enfin, nous parcourons l'objet de paiement et imprimons qui doit de l'argent à qui.

for (var key in payment) {
  console.log(key + ' owes ' + payment[key]);
}

0

19.108

Requêtes JavaScript similaires

Dernières requêtes JavaScript

Explorer des exemples de code par catégories