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

Funkcja,return problem z zadaniem z kursów

Object Storage Arubacloud
0 głosów
428 wizyt
pytanie zadane 7 lutego 2017 w JavaScript przez bartas1990 Początkujący (470 p.)
edycja 7 lutego 2017 przez ScriptyChris

Cześć! Niedawno zacząłem się bawić w javascript póki co jestem początkujący. Napotkałem się na następujący problem:

Stwórz funkcję, która będzie zwracała (poprzez return) sumę liczb z tablicy. Tablica powinna być przekazana do funkcji jako argument.

Przykład:

input -> [1,2,3]

output -> 6

Póki co zrobiłem taki kod:
 

var myArray =[1,2,3];
var array = myArray;
function myFunction(array){
  var result = 0;
  for(var i=0; i< myArray.length; i++) {
    result += myArray[i];
  }
  return result;
}
myFunction(array);



jak zamiast return daje console.log to wyświetla prawidłowy wynik, ale z return nic się nie dzieje ktoś może mi to wytłumaczyć?

Pozdrawiam :)

4 odpowiedzi

+1 głos
odpowiedź 7 lutego 2017 przez kubaapk Nałogowiec (44,270 p.)
Owrapuj sobie to w console.loga. console.log(myFunction(array)); i sprawdź czy wszystko dobrze zwraca.
+1 głos
odpowiedź 7 lutego 2017 przez Adrian Spora Mądrala (5,100 p.)

console.log(<string-arg>) oznacza wypisanie jakiegoś tekstu na konsolę debug w przeglądarce, a instrukcja return zwraca wartość funkcji. Wywoływana funkcja zwraca Ci jakąś wartość, ale nigdzie jej nie przypisujesz, nic z nią nie robisz i ona się traci. Aby ją wypisać na konsolę, musisz właśnie użyć funkcji console.log(). Możesz zrobić to tak:

var sumOfArray = myFunction(array);

console.log(sumOfArray );

Samo wywołanie funkcji zwraca wartość i na tym kończy się działanie funkcji. Tak powinno być. Zwrócenie wartosci przez funkcję nie oznacza, że zostanie ona wypisana na konsoli. Sam musisz to zrobić.

0 głosów
odpowiedź 7 lutego 2017 przez xmentor Nałogowiec (49,520 p.)
edycja 7 lutego 2017 przez xmentor

Nie rozumiem całkowicie po co zapisałeś to w taki sposób:

var myArray =[1,2,3];
var array = myArray;

Wystarczy ta pierwsza zmienna, którą przekażesz do fukcji.

for(var i=0; i< myArray.length; i++) {
    result += myArray[i];
}

Dałeś do funkcji argument array a nawet go nie użyłeś.

Return tylko zwraca, nie ma za zadania wyświetlać wynik czy coś podobnego, do Ciebie należy implementacja wyświetlenia wyniku.

0 głosów
odpowiedź 7 lutego 2017 przez bartas1990 Początkujący (470 p.)
Dziękuje rzeczywiście działa! Rzeczywiście zapomniałem tego owrapowac w console.log :)

Podobne pytania

0 głosów
1 odpowiedź 1,757 wizyt
pytanie zadane 20 kwietnia 2018 w JavaScript przez xxx1990 Początkujący (490 p.)
0 głosów
2 odpowiedzi 183 wizyt
pytanie zadane 12 maja 2016 w JavaScript przez ShiroUmizake Nałogowiec (46,300 p.)
0 głosów
5 odpowiedzi 242 wizyt
pytanie zadane 20 marca 2016 w C i C++ przez breeg Początkujący (390 p.)

92,579 zapytań

141,432 odpowiedzi

319,663 komentarzy

61,964 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!

...