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

Skrypt wyświetlający liczby z podanego zakresu co któraś (podana przez użytkownika)

Object Storage Arubacloud
0 głosów
1,127 wizyt
pytanie zadane 3 kwietnia 2020 w JavaScript przez Krizz06 Nowicjusz (120 p.)

Witam!

Mam pewien problem.
Do utworzenia mam skrypt. Jego działanie:

Użytkownik podaje trzy liczby, Pierwsza i druga będzie tworzyć zakres liczbowy a trzecia określać będzie, co która liczba ma zostać wyświetlona.

Tak np.: Jako pierwszą użytkownik poda liczbę 2, jako drugą 8 a jako trzecią 2. Wyświetli wtedy: 2,4,5,6.

Ważne!: wykorzystać trzeba OnClick oraz wynik wyświetlany ma być pod podanymi liczbami (nie na nowej stronie). 

Kompletnie się pogubiłem czy switch czy if czy co... 

 

<!doctype html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>OnCLick</title>
        <script type="text/javascript">
        function funkcja()
        {
        var pier=parseInt(document.getElementById("pier1").value);
        var dru=parseInt(document.getElementById("dru2").value);

	if (pier <= dru) {
		pier++
		for(i=pier;i<dru;i++)
			document.write(i+", ");
	}
	else if (pier >= dru) {
		pier--
		for(i=pier;i>dru;i--)
			document.write(i+", ");
	}
	else if (pier == dru) {
		document.write("Liczby są równe");
	}	
	else {
		document.write("W co najmniej 1 pole nie została wpisana liczba");
	}

        }
        </script>
    </head>
    <body>
        Podaj pierwszą liczbę:<input type="number" id="pier1">Podaj drugą liczbę:<input type="number" id="dru2"><br>
        <input type="submit" value="Oblicz" onclick="funkcja()">
        <div id="wynik"></div>
    </body>
</html>

 

1 odpowiedź

+1 głos
odpowiedź 3 kwietnia 2020 przez Paweł Nąckiewicz Nałogowiec (48,990 p.)

Za dużo bałaganu. Nie używaj varów - są od dawna consty i lety. Za dużo ifów i zagnieżdzeń,

Tutaj masz moje rozwiązanie:

const printArray = (startIndex, endIndex, iterator) => {
  if(startIndex > endIndex) throw "Libcza poczatkowa musi byc mniejsza niz koncowa"
  
  const result = [];
  for(startIndex; startIndex<=endIndex; startIndex+= iterator) {
    result.push(startIndex);
  }
  console.log(result);
}

printArray(1,3,1);
printArray(1,6,2);
printArray(1,1,1);
// printArray(9,1,1); //->wzroci blad
printArray(2,8,2);

 

Podobne pytania

0 głosów
1 odpowiedź 281 wizyt
+1 głos
2 odpowiedzi 546 wizyt
0 głosów
3 odpowiedzi 394 wizyt

92,654 zapytań

141,543 odpowiedzi

319,958 komentarzy

62,023 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!

...