Proč polozky.splice(y) neodebere z pole jen jednu položku ? – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Proč polozky.splice(y) neodebere z pole jen jednu položku ? – Java – Fórum – Programujte.comProč polozky.splice(y) neodebere z pole jen jednu položku ? – Java – Fórum – Programujte.com

 

JTS0
Newbie
4. 9. 2018   #1
-
0
-

Zde se tvrdí, že lze odstranit jednotlivou položku z pole

https://www.tvorba-webu.cz/javascript/pole.php

V následujícím kódu to ale odebere i všechny položky  za položkou s indexem y. Nechápu  ....

Dík za vysvětlení

<!DOCTYPE html>
<html>
<body>

<button onclick="myFunction()">Vyber příklad</button>

<p id="demo"></p>
<p id="demo2"></p>
<p id="demo3"></p>

<p>Počítadlo je nastaveno na 24, aby mi to ukázalo 23 příkladů.  </p>

<script>

var pocitadlo = 0;
var y = 0;
var polozky = ["0 . 2 = ","1 . 2 = ","2 . 2 = ","3 . 2 = ","4 . 2 = ","5 . 2 = ","6 . 2 = ","7 . 2 = ","8 . 2 = ","9 . 2 = ","10 . 2 = ","0 : 2 = ","2 : 1 = ","2 : 2 = ","4 : 2 = ","6 : 2 = ","8 : 2 = ","10 : 2 = ","12 : 2 = ","14 : 2 = ","16 : 2 = ","18 : 2 = ","20 : 2 = "];

function myFunction() {
        pocitadlo = pocitadlo + 1;
        if (pocitadlo == 24) document.write("Zobrazili jste 23 příkladů"+", avšak počítadlo dosáhlo hodnoty: " + pocitadlo);
        else {
        
var nahodne = Math.floor(Math.random() * polozky.length);

       document.getElementById("demo").innerHTML = (polozky[nahodne]);
       y=nahodne
       polozky.splice(y); 
       document.getElementById("demo2").innerHTML = (polozky);
       document.getElementById("demo3").innerHTML = (y);}
    

</script>

</body>
</html>

Nahlásit jako SPAM
IP: 82.117.139.–
JTS0
Newbie
4. 9. 2018   #2
-
0
-

#1 JTS#1 JTS

Snažil jsem se to obejít vytvořením pole "sloucene", nicméně nevím, jak ho zaměnit za pole "položky"

polozky=sloucne;  nefunguje

<!DOCTYPE html>
<html>
<body>

<button onclick="myFunction()">Vyber příklad</button>

<p id="demo"></p>
<p id="demo2"></p>
<p id="demo3"></p>
<p id="demo4"></p>
<p id="demo5"></p>
<p id="demo5"></p>

<p>Počítadlo je nastaveno na 24, aby mi to ukázalo 23 příkladů.  </p>

<script>

var pocitadlo = 0;
var y = 0;
var polozky = ["0 . 2 = ","1 . 2 = ","2 . 2 = ","3 . 2 = ","4 . 2 = ","5 . 2 = ","6 . 2 = ","7 . 2 = ","8 . 2 = ","9 . 2 = ","10 . 2 = ","0 : 2 = ","2 : 1 = ","2 : 2 = ","4 : 2 = ","6 : 2 = ","8 : 2 = ","10 : 2 = ","12 : 2 = ","14 : 2 = ","16 : 2 = ","18 : 2 = ","20 : 2 = "];
var odstranene = [];
var ke_slouceni = [];
var sloucene = [];

function myFunction() {
        pocitadlo = pocitadlo + 1;
        if (pocitadlo == 24) document.write("Zobrazili jste 23 příkladů"+", avšak počítadlo dosáhlo hodnoty: " + pocitadlo);
        else {
        
var nahodne = Math.floor(Math.random() * polozky.length);

       document.getElementById("demo").innerHTML = (polozky[nahodne]);
      
       odstranene = polozky.splice(nahodne);
       ke_slouceni = odstranene.splice(1); 
       sloucene = polozky + ke_slouceni;
       
       document.getElementById("demo2").innerHTML = (polozky);
       document.getElementById("demo3").innerHTML = (y);
       document.getElementById("demo4").innerHTML = (odstranene);
       document.getElementById("demo4").innerHTML = (ke_slouceni);
       document.getElementById("demo5").innerHTML = (sloucene);}
    

</script>

Zde se tvrdí, že lze odstranit jednotlivou položku z pole

https://www.tvorba-webu.cz/javascript/pole.php

V následujícím kódu to ale odebere i všechny položky  za položkou s indexem y. Nechápu  ....

Dík za vysvětlení

<!DOCTYPE html>
<html>
<body>

<button onclick="myFunction()">Vyber příklad</button>

<p id="demo"></p>
<p id="demo2"></p>
<p id="demo3"></p>

<p>Počítadlo je nastaveno na 24, aby mi to ukázalo 23 příkladů.  </p>

<script>

var pocitadlo = 0;
var y = 0;
var polozky = ["0 . 2 = ","1 . 2 = ","2 . 2 = ","3 . 2 = ","4 . 2 = ","5 . 2 = ","6 . 2 = ","7 . 2 = ","8 . 2 = ","9 . 2 = ","10 . 2 = ","0 : 2 = ","2 : 1 = ","2 : 2 = ","4 : 2 = ","6 : 2 = ","8 : 2 = ","10 : 2 = ","12 : 2 = ","14 : 2 = ","16 : 2 = ","18 : 2 = ","20 : 2 = "];

function myFunction() {
        pocitadlo = pocitadlo + 1;
        if (pocitadlo == 24) document.write("Zobrazili jste 23 příkladů"+", avšak počítadlo dosáhlo hodnoty: " + pocitadlo);
        else {
        
var nahodne = Math.floor(Math.random() * polozky.length);

       document.getElementById("demo").innerHTML = (polozky[nahodne]);
       y=nahodne
       polozky.splice(y); 
       document.getElementById("demo2").innerHTML = (polozky);
       document.getElementById("demo3").innerHTML = (y);}
    

</script>

</body>
</html>

Nahlásit jako SPAM
IP: 82.117.139.–
MilanL+1
Grafoman
4. 9. 2018   #3
-
+1
-
Zajímavé

#2 JTS
chybí ti tam druhý parametr který udává počet mazaných položek,

zkus 

polozky.splice(y,1);

Nahlásit jako SPAM
IP: 91.139.9.–
JTS0
Newbie
4. 9. 2018   #4
-
0
-

#3 MilanL
Dík moc. 

Nahlásit jako SPAM
IP: 82.117.139.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý