• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

JS/Jquery - System osiągnięć [optymalizacja]

0 głosów
63 wizyt
pytanie zadane 26 sierpnia 2018 w JavaScript, jQuery, AJAX przez MrxCI Dyskutant (8,290 p.)

Przykładowy zestaw osiągnieć jest tablicą obiektów, poniżej podano jedno przykladowe osiągnięcie

let achievement = [{check:()=>{/*warunek do spelnienia osiągiecia*/;},
                              {reward:()=>{/*daje nagrode za osiagniecie */;},
                              {done:false;} // czy zostala wykonana

}];

funkcja sprawdzająca wygląda tak


for (i=0;i<achievement.lenght;i++){
if(achievement[i].done === false && achievement[i].check()  ===true) {achievement[i].reward()}; /* reward nadaje funkcji także true dla .done */
}

Powyższa pętla jest wykonywana co jakiś czas, w zasadzie wygląda to dobrze, ale nie podoba mi się, ponieważ załóżmy że osiągnięć jest kilkaset, do tego ponad 95% już użytkownik wypełnił, wtedy co chwile i tak to kilkaset warunkow jest sprawdzane, jak to można zoptymalizować? Czy może jest jednak dobrze tak jak jest?

 

1 odpowiedź

0 głosów
odpowiedź 26 sierpnia 2018 przez k.wichura Pasjonat (19,590 p.)
wybrane 16 września 2018 przez MrxCI
 
Najlepsza
Może zamiast 'for' użyć 'filter', a potem 'foreach' na 'wyfiltorwanych'?

Podobne pytania

0 głosów
0 odpowiedzi 28 wizyt
0 głosów
1 odpowiedź 85 wizyt
pytanie zadane 20 września 2018 w JavaScript, jQuery, AJAX przez Whatisit Początkujący (390 p.)
+1 głos
0 odpowiedzi 44 wizyt
pytanie zadane 1 października 2018 w Nasze projekty przez Whatisit Początkujący (390 p.)
Porady nie od parady
Zadając pytanie postaraj się o poprawną pisownię i czytelne formatowanie tekstu.Kompozycja

64,898 zapytań

111,368 odpowiedzi

234,330 komentarzy

46,744 pasjonatów

Przeglądających: 200
Pasjonatów: 9 Gości: 191

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...