Splitwise-Algorithmus in JavaScript-Code Beispiele

Victor Talmacinschi

Splitwise-Algorithmus in JavaScript

JavaScript von Victor Talmacinschi June 10, 2022

// Splitwise-Algorithmus

// 1. Wir beginnen damit, ein "Zahlungs"-Objekt zu erstellen. Dieses Objekt wird verfolgen, wer wem was schuldet.

var payment = {};

// 2. Wir durchlaufen dann jede Person in der Gruppe.

for (var i = 0; i < group.length; i++) {
  // 3. Für jede Person durchlaufen wir ihre Freunde.
  for (var j = 0; j < group[i].friends.length; j++) {
    // 4. Wenn der Freund nicht im Zahlungsobjekt ist, erstellen wir ihn und setzen sein Gleichgewicht auf 0.
    if (!payment.hasOwnProperty(group[i].friends[j])) {
      payment[group[i].friends[j]] = 0;
    }
    // 5. Wir berechnen dann, wie viel die Person ihrem Freund schuldet. Wir tun dies, indem wir den gesamten Betrag, den sie ausgegeben haben, durch die Anzahl der Freunde teilen und dann den Betrag abziehen, den ihr Freund ihnen bereits gezahlt hat.
    var amountOwed = (group[i].amount / group[i].friends.length) - payment[group[i].friends[j]];
    // 6. Wenn der geschuldete Betrag weniger als 0 ist, bedeutet dies, dass der Freund bereits mehr als seinen Anteil bezahlt hat, sodass wir nichts tun müssen. Andernfalls fügen wir den geschuldeten Betrag dem Zahlungsobjekt hinzu.
    if (amountOwed > 0) {
      payment[group[i].friends[j]] += amountOwed;
    }
  }
}

// 7. Zum Schluss durchlaufen wir das Zahlungsobjekt und geben aus, wer wem was schuldet.

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

0

18.211

Ähnliche JavaScript-Abfragen

Letzte JavaScript Abfragen

Code Beispiele nach Kategorien durchstöbern