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

question-closed JS suma liczb parzystych

Object Storage Arubacloud
0 głosów
6,109 wizyt
pytanie zadane 7 lutego 2017 w JavaScript przez ilendil Początkujący (250 p.)
zamknięte 7 lutego 2017 przez ilendil

Witam

Muszę stworzyć skrypt który wybierze z tablicy liczby parzyste oraz za pomocą funkcji FOR zsumuje te liczby.

Mam coś takiego:
 

var numbers = [1,2,3,4,5,6,7,8,9,10];
for (var i = 0; i < numbers.length; i++ ) {
    if (i%2 == 0);
    i +=i;

}
console.log(i)

 

Oczywiście ten skrypt nie działa. Nie wiem gdzie tkwi błąd. Czy ktoś może mnie naprowadzić jak to zrobić??

komentarz zamknięcia: Zadanie rozwiązane
komentarz 7 lutego 2017 przez ScriptyChris Mędrzec (190,190 p.)

Jeśli użycie pętli for to nie jest warunek konieczny - możesz posłużyć się metodą Array.prototype.reduce() "wspomaganą" przez Array.prototype.filter()

Najpierw filtrujesz tablicę, aby mieć tylko parzyste liczby, a następnie sumujesz je.

const array = [ 1,2,3,3,5,7,9,8 ];
const sumOfEvenNumbers = array
                        .filter( isEven => isEven %2 === 0 )
                        .reduce( ( accumulator, value ) => accumulator + value );

// sumOfEvenNumbers = 10

 

komentarz 7 lutego 2017 przez ilendil Początkujący (250 p.)
Nie mój level póki co. Ale również dziękuję za odpowiedź.

1 odpowiedź

+1 głos
odpowiedź 7 lutego 2017 przez Adrian Spora Mądrala (5,100 p.)
 
Najlepsza

To jest poprawne rozwiązanie:

var sum = 0;
var numbers = [1,2,3,4,5,6,7,8,9,10];
for (var i = 0; i < numbers.length; i++ ) {
    if ( (numbers[i] % 2) == 0) {
    	sum += numbers[i]
    }

}

console.log(sum)

Zmienna i w pętli for służy do tego aby pętla wykonała się tyle razy ile wynosi rozmiar tablicy. Ta zmienna powinna być wykorzystywana do odczytu elementów tablicy (numbers[i] - odczytuje i-ty element tablicy numbers) i w przypadku kiedy ten element, a nie ta zmienna jest podzielna przez dwa to do sumy powinien zostać dodany ten element tablicy. U Ciebie jest sprawdzanie czy zmienna iteracyjna (i) jest podzielna przez 2 i jeśli jest to modyfikujesz zmienną i, czego w ogóle nie powinno się robić. Dlatego nie działa :)

komentarz 7 lutego 2017 przez ilendil Początkujący (250 p.)
Dzięki :)

Podobne pytania

0 głosów
4 odpowiedzi 2,130 wizyt
pytanie zadane 22 kwietnia 2018 w C i C++ przez kubal0101 Początkujący (280 p.)
0 głosów
3 odpowiedzi 4,836 wizyt
pytanie zadane 28 grudnia 2016 w C i C++ przez szejmys Nowicjusz (160 p.)
0 głosów
2 odpowiedzi 331 wizyt
pytanie zadane 18 marca 2018 w C i C++ przez Undisputed Gaduła (3,040 p.)

92,576 zapytań

141,426 odpowiedzi

319,651 komentarzy

61,961 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...