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

Chciałbym pobrać wartości, które wyjdą z pętli a następnie umieścić je w tablicy.

Aruba Cloud - Virtual Private Server VPS
0 głosów
701 wizyt
pytanie zadane 11 lutego 2021 w JavaScript przez Darth_Darkus Nowicjusz (150 p.)
var rachunkiOli = [105, 30, 74, 221, 155];
        
        for (var i = 0; i < rachunkiOli.length; i++) {
            var napiwek;
            if (rachunkiOli[i] <= 50 ) {
                napiwek = rachunkiOli[i] * 0.2;

            } else if (rachunkiOli[i] > 50 && rachunkiOli[i] <= 150) {
                napiwek = rachunkiOli[i] * 0.15;

            } else if (rachunkiOli[i] > 150) {
                napiwek = rachunkiOli[i] * 0.1;
            }
        }

 

komentarz 11 lutego 2021 przez Tomek Sochacki Ekspert (227,490 p.)
przeniesione 11 lutego 2021 przez ScriptyChris
Co to znaczy wartości, które wyjdą z pętli? Opisz co dokładnie chcesz zrobić i co jest nie tak, jakieś błędy?

Najlepiej w tego typu pytaniach po prostu pokazać oczekiwane rezultaty, tak jakbyś miał napisać do tego prosty test unitowy.
komentarz 11 lutego 2021 przez Darth_Darkus Nowicjusz (150 p.)
przeniesione 11 lutego 2021 przez ScriptyChris
Chcę aby każde sprawdzone wartości z warunków zostały wpisane do tablicy. Próbowałem wpisywać np. var napiwkiOli = napiwek, ale gdy przyszło wywołać to console.log(napiwkiOli) Wyświetlało się tylko 15.5, Chcę aby w mojej tablicy napiwkiOli znajdowały się wszystkie wartości z warunków. Oczekiwany rezultat

napiwkiOli = [napiwek z if, napiwek z else if, napiwek z else if]

1 odpowiedź

0 głosów
odpowiedź 11 lutego 2021 przez ScriptyChris Mędrzec (190,190 p.)
wybrane 11 lutego 2021 przez Darth_Darkus
 
Najlepsza

Można to rozwiązać na (co najmniej) dwa sposoby:

  • przenieś tworzenie zmiennej napiwek nad pętlę for i niech to będzie początkowo pusta tablica (przy okazji, nazwa dla tablicy powinna być raczej liczbą mnogą; dobrze też w kodzie używać angielskich nazw zmiennych/funkcji itp.). Natomiast w każdym if/else if pushuj do tej tablicy daną wartość, którą teraz przypisujesz zmiennej napiwek
    var rachunkiOli = [105, 30, 74, 221, 155];
    var napiwki = [];
             
            for (var i = 0; i < rachunkiOli.length; i++) {
    
                if (rachunkiOli[i] <= 50 ) {
                    napiwki.push(rachunkiOli[i] * 0.2);
     
                } else if (rachunkiOli[i] > 50 && rachunkiOli[i] <= 150) {
                    napiwki.push(rachunkiOli[i] * 0.15);
     
                } else if (rachunkiOli[i] > 150) {
                    napiwki.push(rachunkiOli[i] * 0.1);
                }
            }
    

     

  • dodaj nową zmienną napiwki (zostawiając napiwek tak jak jest) poza pętlą i do niej pushuj zmienną napiwek pod koniec każdej iteracji

    var rachunkiOli = [105, 30, 74, 221, 155];
    var napiwki = []; 
    
            for (var i = 0; i < rachunkiOli.length; i++) {
                var napiwek;
                if (rachunkiOli[i] <= 50 ) {
                    napiwek = rachunkiOli[i] * 0.2;
     
                } else if (rachunkiOli[i] > 50 && rachunkiOli[i] <= 150) {
                    napiwek = rachunkiOli[i] * 0.15;
     
                } else if (rachunkiOli[i] > 150) {
                    napiwek = rachunkiOli[i] * 0.1;
                }
    
               napiwki.push(napiwek);
            }
    

     

Podobne pytania

0 głosów
2 odpowiedzi 333 wizyt
0 głosów
1 odpowiedź 151 wizyt
0 głosów
1 odpowiedź 321 wizyt

93,327 zapytań

142,323 odpowiedzi

322,397 komentarzy

62,658 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...