Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 10. diel - Polia v JavaScripte

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Odpovedá na relycanx
Nevik Qsuluqod:24.9.2015 22:05

Já bych zkusil sublime text

Odpovedať
Je těžké naučit se HTML, všude ho učí špatně, a co itnetwork? TO JE BIBLE
Avatar
Vít Cigánek:3.12.2015 15:52

co to je za hlínu. Může mi to někdo říct?

var cisla = [5, 3, 1, 30, 25, 80];
cisla.sort(function(a, b) {return a-b}); // Změní cisla na [1, 3, 5, 25, 30, 80]

kromě toho mě překvapilo že javascript nema xor a mimochodem syntaxe cyklu foreach respektive for x in cisla je fakt vyživná.

Avatar
1Pupik1989
Člen
Avatar
Odpovedá na Vít Cigánek
1Pupik1989:5.12.2015 2:47

Tak mezi námi xor javascript umí, jako každý jazyk. Za druhé for in se na pole nepoužívá, to dělají jen prasata. Pokud pro tebe je neexistence foreach problém, pak zůstaň u PSP nebo Karla. Jiná mezi námi javascript má forEach jako metodu u pole. ;-)

Avatar
Petr Šťastný
Tvůrce
Avatar
Petr Šťastný:31.3.2016 11:34

Ahoj, potřebuji pomoct. Mám program, který naplní pole daty. Do každého indexu pole potřebuji narvat 3 různé věci; jméno, pozici X a pozici Y. Asi by to bylo nejlepší udělat pomocí stringu jmeno=pozx=pozy a poté to rozsplitovat. Problém je, že v tom potřebuji vyhledávat X a Y. Tak jsem udělal pole v poli. Teď výpis z konzole vypadá nějak takto:

obstacles

[Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3]0: "Spike"1: 9602: 160length: 3__proto__: Array[0], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3]]

Momentálně mi nefunguje Lightshot, takže to musí stačit takhle. Jedno pole je rozableno a jsou tam ty 3 hodnoty. Jak v tomto poli polí mám vyhledat souřadnice? Díky :-)

Avatar
Odpovedá na Petr Šťastný
Libor Šimo (libcosenior):31.3.2016 11:56

Urob si trojrozmerné pole stringov, tým dosiahneš na na jednom indexe jméno, pozici X a pozici Y a môžeš v ňom pohodlne vyhľadávať.

Odpovedať
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Pluhtík
Člen
Avatar
Pluhtík:14.7.2016 13:16

Ahoj, můžu se zeptat proč mi pole nezačíná od nuly? Ze začátku mě docela zmátlo, že v obou cyklech je použitá proměnná i, takže jsem si nakonec druhý cykluc upravil na j. Nicméně v první fázi toho cyklu by se mělo vypsat jen a[j], což je v tom případě nula a cyklus by tím pádem měl končit 10, protože délka pole a (a.length) je i + 1 na konci prvního cyklu, tedy 11, tak co jsem pochopil špatně? Díky za odpověď :)

var a = new Array();
for (var i = 0; i < 10; i++)
{
  a[i] = i + 1;
}
for (var j = 0; j < a.length; j++)
{
  document.write(a[j] + " ");
}
Avatar
Martin Gabriel
Tvůrce
Avatar
Odpovedá na Pluhtík
Martin Gabriel:14.7.2016 13:24

Koukni na to pořádně. V prvním cyklu do pole 'a' vkládáš i+1. Při prvním průchodu cyklu je i = 0, ale ty uložíš i+1, takže v a[0] je hodnota 1.
Odmaž to '+ 1' na třetím řádku a prvky v poli budou začínat od 0. :)

Odpovedať
"Be the change you want to see in the world" - Michael Scofield
Avatar
Pluhtík
Člen
Avatar
Odpovedá na Martin Gabriel
Pluhtík:14.7.2016 14:29

Ano, jenže na výstupu se mi vypíše hodnota a[j], která začíná na nule. Funguje to, jak to říkáš, i když to stále nechápu :) furt mi připadá, že by tam mělo být a[j] + 1, aby to začínalo od 1. Tím samozřejmě neříkám, že jsem chytřejší než počítač, ale něco chápu špatně :D
a.length = 10, to mám správně, že ano?

Avatar
Pluhtík
Člen
Avatar
Pluhtík:14.7.2016 14:40

Mám to :) opět se ukazuje mé pomalé vedení :D
a[i] = i + 1 tzn. že vždy v tom souboru bude a[x] = x + 1. Vyzkoušeno tím, že jsem si udělal menší zápis (viz níže) a na výstupu bylo číslo 4.

document.write(a[3]);

Tzn. že výsledek je 3 + 1.

Avatar
Odpovedá na Pluhtík
Libor Šimo (libcosenior):14.7.2016 15:05

Aby si mal istotu, že pole naplníš v cykle správne, môžeš použiť push().

$(function() {
    var a = new Array();

    for (var i = 6; i <= 15; i++) {
        a.push(i);
    }
    document.write(a);
});
Odpovedať
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 96.