Portál AbcLinuxu, 10. května 2025 19:11

Dotaz: pomoc s javascriptem

3.6.2014 08:29 Stáňa
pomoc s javascriptem
Přečteno: 442×
Odpovědět | Admin
S javascriptem moc neumím a ve škole jsme dostali tento úkol: Vytvořte pole o 5-500 prvcích (dle parametru zadaného uživatelem) a naplňte ho náhodně generovanými sekvencemi čtyř znaků sestávajícími z písmen a-z. Obsah pole opiště jako text do textarea tak, aby každý prvek pole byl na samostatném řádku. Po stisku dalšího push-bottonu setřiďte pole sestupně podle abecedy a opět jej opište na obrazovku. Mohl by mi prosím někdo pomoc?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

3.6.2014 09:22 DarkKnight | skóre: 26
Rozbalit Rozbalit vše Re: pomoc s javascriptem
Odpovědět | | Sbalit | Link | Blokovat | Admin
http://www.abclinuxu.cz/faq/aplikace/udelate-za-me-ukol

jinak strucne, pole vytvoris pres new Array(delka), nahodne cislo vygenerujes pres Math.random() (pozor, generuje cisla od nuly do jedne, takze to musis spravne vynasobit, zaokrouhlit a pricist), funkce for, html dom eventy, funkce sort
Bedňa avatar 3.6.2014 09:59 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: pomoc s javascriptem
A ešte klávesa F12 a console.log("Toto musím mať");
KERNEL ULTRAS video channel >>>
3.6.2014 10:01 anonymni radce
Rozbalit Rozbalit vše Re: pomoc s javascriptem
jak pise DarkKnight, mel by sis ty ukoly snazit vyresit sam. Nicmene tady mas pro ukazku reseni, vyuzivajici jQuery:
Rows: <input type="text" id="rows" />
<input type="button" id="generate" value="Generate" />
<input type="button" id="sort" value="Sort" />
<br /><br />
<textarea></textarea>
$(document).ready(function () {
    $('#generate').on('click', function() {
        var rows = Number($('#rows').val());
        if (rows < 5 || rows > 500) {
            alert('Enter number between 5 and 500');
        }
        var result = [];
        
        for (var i=0; i<rows; i++) {    
            var row = '';
            for (var j=0; j<4; j++) {
                row += String.fromCharCode(
                    Math.floor(Math.random() * 25 + 97)
                );
            }
            result.push(row);
        }
        $('textarea').val(result.join("\n"))
    })
    $('#sort').on('click', function() {
        $('textarea').val(
            $('textarea').val().split("\n").sort().join("\n")
        )
    })
}
Funkcni ukazka tady
4.6.2014 21:14 jiřík | skóre: 9 | Hradec Králové
Rozbalit Rozbalit vše Re: pomoc s javascriptem
Odhaduji, že by řešení mělo být čistě javascriptem a ne knihovnou, která některé kroky zjednoduší.
Zapomeňte na pumpičku a na rozhodčí, hrajte Ultimate Frisbee http://www.frisbee.cz
5.6.2014 09:40 anonymni radce
Rozbalit Rozbalit vše Re: pomoc s javascriptem
dobre, tady je reseni cistym javascriptem (demo):
<html>
  <head>
    <script type="text/javascript">
      window.onload = function () {
        var textarea = document.getElementById('textarea');
        document.getElementById('generate').addEventListener('click', function() {
          var rows = Number(document.getElementById('rows').value);
          if (rows < 5 || rows > 500) {
            alert('Enter number between 5 and 500');
          }
          var result = [];
          for (var i=0; i<rows; i++) {    
            var row = '';
            for (var j=0; j<4; j++) {
              row += String.fromCharCode(
                Math.floor(Math.random() * 25 + 97)
              );
            }
            result.push(row);
          }
          textarea.value = result.join("\n")
        })
        document.getElementById('sort').addEventListener('click', function() {
          textarea.value = textarea.value.split("\n").sort().join("\n")
        })
      }
    </script>
  </head>
  <body>
    Rows: <input type="text" id="rows" />
    <input type="button" id="generate" value="Generate" />
    <input type="button" id="sort" value="Sort" />
    <br /><br />
    <textarea id="textarea"></textarea>
  </body>
</html>

PS: nefunguje v IE

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.