Algoritmul Splitwise în JavaScript-Exemple de cod

Victor Talmacinschi

Algoritmul Splitwise în JavaScript

JavaScript de Victor Talmacinschi June 10, 2022

// Algoritmul Splitwise

// 1. Începem prin a crea un obiect de tip "plată". Acest obiect va ține evidența cui trebuie să-i plătească cui ce sumă.

var payment = {};

// 2. Apoi, pentru fiecare persoană din grup, în interiorul unui ciclu for..of

for (var i = 0; i < group.length; i++) {
  // 3. Pentru fiecare prieten al unei persoane, în interiorul unui alt ciclu for..of
  for (var j = 0; j < group[i].friends.length; j++) {
    // 4. Dacă prietenul nu se află în obiectul de tip plată, îl adăugăm și îi setăm soldul la 0.
    if (!payment.hasOwnProperty(group[i].friends[j])) {
      payment[group[i].friends[j]] = 0;
    }
    // 5. Calculăm apoi cât trebuie să-i plătească o persoană unui prieten. Facem acest lucru prin împărțirea sumei totale cheltuite la numărul de prieteni și scăderea sumei pe care prietenul deja i-a plătit-o.
    var amountOwed = (group[i].amount / group[i].friends.length) - payment[group[i].friends[j]];
    // 6. Dacă suma datorată este mai mică decât 0, înseamnă că prietenul a plătit deja mai mult decât ar trebui, așa că nu avem nevoie să facem nimic. În caz contrar, adăugăm suma datorată în obiectul de tip plată.
    if (amountOwed > 0) {
      payment[group[i].friends[j]] += amountOwed;
    }
  }
}

// 7. În final, pentru fiecare obiect de tip plată, afișăm cui trebuie să-i plătească cui ce sumă.

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

0

20.124

Întrebări conexe JavaScript

Cele mai recente interogări JavaScript

Explorați exemplele de cod pe categorii