• 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)

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
1,307 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ź 336 wizyt
+1 głos
2 odpowiedzi 705 wizyt
0 głosów
3 odpowiedzi 501 wizyt

93,103 zapytań

142,076 odpowiedzi

321,560 komentarzy

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

...