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

0 głosów
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,870 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ź 121 wizyt
0 głosów
3 odpowiedzi 116 wizyt
0 głosów
2 odpowiedzi 441 wizyt
Porady nie od parady
Wynikowy wygląd pytania, odpowiedzi czy komentarza, różni się od tego zaprezentowanego w edytorze postów. Stosuj więc funkcję Podgląd posta znajdującą się pod edytorem, aby upewnić się, czy na pewno ostateczny rezultat ci odpowiada.Podgląd posta

85,725 zapytań

134,512 odpowiedzi

298,568 komentarzy

56,634 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...