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

napisanie trójkąta z liczba w JavaScript

Object Storage Arubacloud
0 głosów
3,406 wizyt
pytanie zadane 22 sierpnia 2017 w JavaScript przez Angie Nowicjusz (120 p.)

Witam serdecznie, jestem bardzo początkująca w JavaScript i próbuję stworzyć taki trójkąt z liczb:

1

12

123

1234

12345

 

Jestem już blisko, ale wychodzi mi w konsoli każda liczba oddzielnie "pod sobą". I nie wiem, jak połączyć liczby ze sobą w jednym wierszu. Oto mój kod:

for (var i = 1; i <=5; i++) {
  console.log("");
  for (var j = 1; j <=i; j++) {
console.log(j + " ");
  }
}

Gdy próbowałam łączyć te liczby, to wyszły mi z tego niesamowite głupoty (moja próba):

var numbers="";
for (var i = 1; i <=5; i++) {
  numbers="";
  for (var j = 1; j <=i; j++) {
  numbers = numbers + 1;
  }
  console.log("");
  console.log(j + " ");
}

Będę wdzięczna za pomoc :) 

1 odpowiedź

+3 głosów
odpowiedź 22 sierpnia 2017 przez lnkoc Stary wyjadacz (13,960 p.)
var line = "";
for (var i = 1; i <=5; i++) {
    line = ""; // kasujesz linię po każdym przejściu pętli
    for (var j = 1; j <=i; j++) {
        line += j.toString();  // zapisujesz liczbę na końcu zamienioną na string
    }
    console.log(line);
}

To powinno działać ;)

komentarz 22 sierpnia 2017 przez Angie Nowicjusz (120 p.)

Super, działa! Dziękuję :) Naprowadziło mnie to, co napisałeś i wymyśliłam małą alternatywę dla tego zapisu:

var line = "";
for (var i = 1; i <=5; i++) {
    line = ""; 
    for (var j = 1; j <=i; j++) {
        line += j + ""; 
    }
    console.log(line);

Dziękuję za pomoc!

komentarz 22 sierpnia 2017 przez Angie Nowicjusz (120 p.)

A czy mogłabym jeszcze zapytać o jedną poradę: gdybym do tych liczb, chciała (a bardzo chcę) dołączyć gwiazdki, w taki sposób, aby utworzyć kwadrat, to jak powinnam zagnieździć kolejną pętlę?

1****

12***

123**

1234*

12345

Mam coś takiego i najwyraźniej źle przypisałam zmienną "k".  Czy mogłabym prosić o spojrzenie?

var line = "";
var lineOfStars = "";
for (var i = 1; i <=5; i++) {
    line = "";
    for (var k=4; k>=i; k--) {
      lineOfStars = lineOfStars + "*";
    }
    for (var j = 1; j <=i; j++) {
       line += j + "";
    }
    console.log(line);
    console.log(lineOfStars);
}

 

komentarz 22 sierpnia 2017 przez lnkoc Stary wyjadacz (13,960 p.)

To może od końca: zamiast wypisywać w dwóch liniach "line" i lineOfStars możesz zrobić to w jednej linii:

console.log(line + lineOfStars);

Wtedy będziesz mieć pewność, że wyniki zostaną poprawnie wypisane.

A co do zagnieżdżenia drugiej pętli tym razem Ci podpowiem, zamiast dać gotowe rozwiązanie: w głównej pętli wypisujesz liczby tak jak to napisałem w odpowiedzi na Twoje zapytanie, a następnie piszesz kolejną pętlę z warunkiem var k = i + 1; k <= 5; k++; (liczba o jeden większa od liczby wypisywanych liczb, ale mniejsza od liczby wszystkich liczb, z każdą iteracją zwiększana o jeden (co przy kolejnych iteracjach głównej pętli spowoduje zmniejszenie o jeden w każdym przypadku)).

Edit: pozostawiam Ci do wymyślenia, gdzie zerować zmienną lineOFStars ;)

komentarz 22 sierpnia 2017 przez Angie Nowicjusz (120 p.)

Niezłe metody pedagogiczne ;) Jednak muszę Ci podziękować, bo zadziało ;) Teraz mam wieczorną radochę, że do czegokolwiek sama doszłam (nawet jeśli to taka bzdetka) w tym gąszczu zawiłości JS :)
W takim razie znowu bardzo dziękuję za fachową i szybką pomoc! :)

var line = "";
var lineOfStars = "";
for (var i = 1; i <=5; i++) {
    line = "";
    lineOfStars = "";
    for (var k=i+1; k<=5; k++) {
      lineOfStars += "*";
    }
    for (var j = 1; j <=i; j++) {
       line += j + "";
    }
    console.log(line + lineOfStars);
}

 

Podobne pytania

+1 głos
1 odpowiedź 464 wizyt
0 głosów
2 odpowiedzi 1,388 wizyt
pytanie zadane 23 kwietnia 2019 w JavaScript przez xanter Nowicjusz (120 p.)
0 głosów
1 odpowiedź 143 wizyt

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

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

...