Przyjrzałem w twoim problemie i myślę, że mam twoje rozwiązanie, albo przynajmniej PATHWAY do twojego rozwiązania. Ok, najpierw wyjaśnię podstawowy problem, a następnie spróbuję podać ci jakiś ogólny kod (spróbuję użyć niektórych z używanych zmiennych). I odejdziemy!
zasadzie to, co widzę, jest 2 kroki ...
KROK 1 - trzeba użyć „funkcji konstruktora”, który stworzy nowe obiekty użytkowników z ich własnym imieniu (i/lub identyfikator użytkownika) oraz własnych zestaw właściwości.
Przy pomocy tego sposobu myślenia funkcja konstruktora może zawierać takie właściwości, jak "nazwa użytkownika", "punkty dopasowania 1", "punkty dopasowania 2", a następnie funkcję, w której konsola rejestruje podsumowanie każdego imienia i nazwiska. suma punktów z punktów meczowych 1 i 2.
KROK 2 - Musisz wstawić funkcję konstruktora do pętli, która przejdzie przez bazę danych, szukając specyficznych właściwości potrzebnych do wypełnienia właściwości wymaganych przez funkcję konstruktora wypluć informacje, których szukasz.
Więc ... i weźmy głęboki oddech, ponieważ to było dużo słów ... spróbujmy to zakodować. Użyję ogólnych właściwości w sposób, który moim zdaniem ułatwi wstawianie własnych nazw właściwości/zmiennych.
var user = function(name, match1, match2){
this.name = name;
this.match1 = match1;
this.match2 = match2;
this.pointTotal = function(match1, match2) {
console.log(match1 + match2);};
this.summary = function(){
console.log(name + " has a total of " + pointTotal + "
points.");};
}
"Ta" część kodu umożliwia użycie dowolnej nazwy użytkownika, a nie tylko określonej.
OK, więc powyższy kod zajmuje się funkcją konstruktora, część problemu. Teraz nie ma znaczenia, ilu użytkowników trzeba utworzyć z unikalnymi nazwami.
Następnym krokiem jest utworzenie pewnego rodzaju funkcji pętli, która przejdzie przez bazę danych i wypełni właściwości niezbędne do utworzenia każdego użytkownika, aby uzyskać wszystkie punkty od KAŻDEGO użytkownika, a nie tylko od jednego.
Znowu użyję generic-owski nieruchomość/nazw zmiennych ...
var key = childSnapshot.key;
while(i = 0; i < key.length + 1; i++) {
var user = function(name, match1, match2){
this.name = name;
this.match1 = match1;
this.match2 = match2;
this.pointTotal = function(match1, match2) {
console.log(match1 + match2);};
this.summary = function(){
console.log(name + " has a total of " + pointTotal + " points.");};
}
}
To jest dużo słów, a kod jest hybrydą własności nazwy rodzajowe/zmiennych i nazw własności/zmienne używane przez ciebie, ale jestem pewien, że jestem na właściwej ścieżce.
Mam dużo pewności, że jeśli użyjesz kodu i WYJAŚNIENIA, które dostarczyłem, to po podłączeniu własnych zmiennych otrzymasz rozwiązanie, którego potrzebujesz.
Na zakończenie chcę tylko powiedzieć, że NAPRAWDĘ mam nadzieję, że to pomoże, a jeśli nie, chciałbym pomóc rozwiązać ten czy inny sposób, ponieważ potrzebuję tej praktyki. Pracuję na pracę z dziwnych godzinach i tak, gdybym nie odpowiedział od razu jestem prawdopodobnie w mojej pracy :(
Powodzenia i mam nadzieję, że pomogłem!
Jest to rodzaj pytanie gdzie Firebase funkcje cloud przyćmiewa wszystkie inne wykonanie frontend. –