» Poradna » Programy

Jak přidat další položky do pole v JS

 |   |  Microsoft Windows 10 Chrome 77.0.3865.120

Ahoj, poradí někdo jak přidat další položky? Zkoušel jsem kde co, prostě to nejde. Děkuji.var pole = {1:{a:'A1',b:'B1',c:'C1'},2:{a:'A2',b:'B2',c:'C2'},}

Odpovědi na otázku

 |   |  Microsoft Windows 10 Firefox 69.0

Problém je, že to není pole. Je to objekt.Do objektu se dá přidávat pomocí pole[5] = xxxx pokud se jedná o číselný index, nebo pole.nazev = xxx pokud se jedná o řetězecPole jevar pole = [ {a:'A1',b:'B1',c:'C1'},{a:'A2',b:'B2',c:'C2'} ]a tam se pak dají použít další metody, které pracují jen s poli, jako pole.push(xxx) atd.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 77.0.3865.120

Tak že mám objekt, ne pole a ty mi radíš ohledně pole, nerozumím tomu :(

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Firefox 69.0

Však to píšu.Pokud je objekt definován taktovar pole = {1:{a:'A1',b:'B1',c:'C1'},2:{a:'A2',b:'B2',c:'C2'},}tak přidání prvku se provádí:pole[5] = {a:'A5',b:'B5',c:'C5'}nebo přidání do vnořeného objektu:pole[1].a = xxxxxxRaději napiš, co přesně ti nefunguje

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 77.0.3865.120

Tak mám tohlevar pole = {1:{a:'A1',b:'B1',c:'C1'},2:{a:'A2',b:'B2',c:'C2'},}a potřebuji přidat položky 3:{a:'A3',b:'B3',c:'C3'},aby výsledek byl tohlevar pole = {1:{a:'A1',b:'B1',c:'C1'},2:{a:'A2',b:'B2',c:'C2'},3:{a:'A3',b:'B3',c:'C3'},}Problém je v tom, že nevím jak to mám přidat na konec toho objektu aby tam nebyla duplicita těch prvních ID 1,2,3.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Firefox 69.0

Možná by stálo za zvážení použít na tohle normální pole.Objekt se sice může chovat podobně jako pole, ale on ty indexy 1,2,3 nevidí jako nějaké pořadí, ale jako názvy vlastností, mezi kterými není vůbec žádný vztah. On neví, že by po 2 měla následovat 3 a tudíž není ani možné říct mu, ať to uloží "na konec".Řešení jsou tu dvě:1) Použít normální polevar pole = [ {a:'A1',b:'B1',c:'C1'},{a:'A2',b:'B2',c:'C2'} ]a potom volat pole.push({a:'A3',b:'B3',c:'C3'})což uloží danou položku vždy na konec a nedojde k duplicitě.2) Pokud už musíš požít objekt, tak musíš ručně zjistit nejvyšší 'index' na který se to má uložit, tzn. zjistit ručně, jaké nejvyšší číslo je v tom objektu uložené, např.:pole[Math.max(...Object.keys(pole))+1] = {a:'A3',b:'B3',c:'C3'}

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 77.0.3865.120

...a potom volat pole.push({a:'A3',b:'B3',c:'C3'})...Tohle ale nevloží do pole klíč, proč?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Firefox 69.0

Vloží to prvek co je v závorce na konec pole. Nechápu jaký klíč by to mělo vkládat.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 77.0.3865.120

Hm, když to nebude mít key, jak pak zavolám nějakou jednu položku aniž bych to procházel nějakým cyklem?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 69.0

to, co nazýváš klíčem v poli je číslo, defaultně od 0 ... a jak chceš pole projíždět, když ne cyklem?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 77.0.3865.120

Když má pole 10000 položek, a já potřebuji vypsat pouze 250-tou, tak to mám dát do cyklu a do toho cyklu podmínku, která bude testovat, zda už se jedná nebo nejdená o 250 a tu položku vypsat? Tak to pak jo

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android AppleMAC-Safari 5.0

pole[249]Pole se indexují od nuly, takže 250. položka má index 249.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 69.0

Jak psal nademnou, pole se čísluje samo defaultně od nuly, takže proč by si proboha projížděl pole pro obyč výpis? prostě pole[249] je 250. pole ... tohle je v každým tutoriálu na každý stránce pro jakýkoliv normální programovací jazyk

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 77.0.3865.120

Není to náhodou index?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android AppleMAC-Safari 5.0

Samozřejmě, že je to index.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 77.0.3865.120

A jsme u toho, pokud tedy smažu položku s indexem 3 a pole obsahuje 10 položek, můžu smazat položku s indexem 3 ještě 7x. Potřebuji smazat položku s klíčem 3 tak, aby tam už prostě položka s klíčem 3 nebyla. Index mě nezajímá.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 77.0.3865.120

Možná kdybys hned na začátku vybalil, co vlastně potřebuješ, tak bysme tu už druhý den nemuseli pátrat ve tmě. Asi to tak nutně nepotřebuješ.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 77.0.3865.120

Potřebuji to nutně, jestli jsem to nenapsal srozumitelně tak se omlouvám.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 77.0.3865.120

Tak použij znovu objekt a pamatuj si v nějaké další proměnné klíč posledního přidaného prvku.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 77.0.3865.120

Tak že co se týká array v JS, umí pracovat pouze s číselnými indexy, nemůžu si vytvořit vlastní, chápu to dobře, jo?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android AppleMAC-Safari 5.0

Chápeš to dobře a rozhodně to není jenom v JS. Číselné indexy jsou ve většině jazyků. Pokud potřebuješ jiné, musíš použít jinou datovou strukturu. Ale v čistém JS není na výběr v podstatě nic jiného než objekt. Samozřejmě si tu strukturu můžeš naprogramovat sám přesně podle svých představ, ale to momentálně přesahuje tvé schopnosti.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Firefox 69.0

push() vrací novou délku pole, na kterém se volá. Tudíž index vloženého prvku je var index = pole.push(...) - 1;Smazání položky se zachováním indexů je pak:delete pole[3];prvek na indexu 3 se pak stane undefined, ostatní zůstanou zachovaný.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 69.0

Nebo nastav daný pole s indexem 3 na null a máš to

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 77.0.3865.120

Díky moc, beru první možnost Objekt nepotřebuji.

Souhlasím  |  Nesouhlasím  |  Odpovědět


Určitě si přečtěte

Vyzkoušeli jsme TP-Link Deco P9: zajistí doma Wi-Fi díky drátům ve zdi

Vyzkoušeli jsme TP-Link Deco P9: zajistí doma Wi-Fi díky drátům ve zdi

** Nová generace Mesh Wi-Fi s propojením přes elektrické rozvody ** Lepší parametry a nižší cena než u předchůdce ** Aplikace zatím podporuje jen základní nastavení bez rozšířených funkcí

Tomáš Holčík | 25

Windows 10X už si můžete vyzkoušet. Novému systému Microsoft zjevně věří

Windows 10X už si můžete vyzkoušet. Novému systému Microsoft zjevně věří

** Windows 10X přijdou již ke konci roku ** Microsoft vydal emulátor, kde systém ukázal ** Vývojáři musí upravit své aplikace

Vladislav Kluska | 62

12 nejšílenějších programovacích jazyků, ze kterých vám praskne hlava

12 nejšílenějších programovacích jazyků, ze kterých vám praskne hlava

** Myslíte si, že umíte programovat? ** Ale prosím vás, zkuste jazyk Wenyan nebo Malbolge ** Z ezoterických jazyků zešílíte, nebo vás zaměstnají v Googlu

Jakub Čížek | 26

Chyba roku 2038 způsobí problémy, počítače dnes totiž stárnou příliš pomalu

Chyba roku 2038 způsobí problémy, počítače dnes totiž stárnou příliš pomalu

** Loni ajťáky vystrašilo přetečení GPS čítače týdnů ** Nemělo se stát vůbec nic, ale svět opět nebyl připravený ** Za 18 let nás ale čeká ještě něco mnohem většího

Jakub Čížek | 68

10 map, na kterých můžete COVID-19 sledovat téměř v živém přenosu

10 map, na kterých můžete COVID-19 sledovat téměř v živém přenosu

** Koronavrus můžete sledovat skoro živě ** Analytici a kartografové připravili hromadu map ** Vybrali jsme deset z nich

Jakub Čížek | 8

Srovnali jsme česká města s IBM, Googlem nebo třeba Samsungem. Podívejte se, v jaké firmě „žijete“

Srovnali jsme česká města s IBM, Googlem nebo třeba Samsungem. Podívejte se, v jaké firmě „žijete“

** Nadnárodní korporace zaměstnávají stovky tisíc lidí ** Mají tedy velikost metropolí ** Srovnali jsme je s českými krajskými městy

Jakub Čížek | 15



Aktuální číslo časopisu Computer

Velký test autokamer

Test ATX skříní

Jak surfovat pohodlně

Sportovní aplikace

Jak funguje procesor