Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Přídávání a odebirani prvku pole JavaScript

[js]// chci vytvorit dvourozmerne pole
var hodnoty = [ [0, 0] ] ; // timto vytvorim dvourozmerne pole
function refreshTable ()
{
// dvojice [x, y]
hodnoty[1][0] = 20; // Toto si nemuzu dovolit - nefunguje !
hodnoty[1][1] = -3.78; // Toto si nemuzu dovolit - nefunguje !
alert(hodnoty[1][0]); // Undefined !
// nyni chci hodnoty do pole pridavat
hodnoty.splice(1,0,[20],[30]); // Prida do pole 1 prvek 20 , ale uz ne tricet.
}

Ackoliv svuj dotaz asi formuluji slozite je jednoduchy:
Jak pridavat do pole o neurcite delce dvojici prvku o nejake hodnote ?
Jak tyto prvky odebirat a jak pridavat ?
To jsou prece zakladni operace s polem. Tak jaka je syntaxe ]:( ???

[/js]

Předmět Autor Datum
To tady není nekdo tak dobry jako los ? :.(
Flash_Gordon 18.03.2006 15:42
Flash_Gordon
Jako los? Nemožné. :.(
anarchist 18.03.2006 15:54
anarchist
Mám to ! Přišel jsem na to na základě odpovědi losa na jeden můj předchozí programátorský dotaz. T…
Flash_Gordon 18.03.2006 16:14
Flash_Gordon
;-) a co sem, takhle napsat odpoved, když jsi to označil jako vyřešené .. až to bude někdo hledat od… nový
AZOR 18.03.2006 16:28
AZOR
[js]hodnoty // Datova struktura - pole o promenne velikosti, neurcite function gumujPosledni() // F… nový
Flash_Gordon 18.03.2006 17:55
Flash_Gordon
vsak index pola zacina od "0", vsak? :-p cize spravne malo byt [js]hodnoty[0][0] = 20; hodnoty[0][1]… nový
IgorK 18.03.2006 18:20
IgorK
To jsou funkce, které jsem tady pracně naprogramoval a oni už jsou vymyšlené. OK. Doufám že jsou ty… poslední
Flash_Gordon 18.03.2006 18:48
Flash_Gordon

;-) a co sem, takhle napsat odpoved, když jsi to označil jako vyřešené .. až to bude někdo hledat odpoved, bude mmít na tváři uspěv, až uvdí, že je to oznažené... ale až si přečte thread ..:-D

[js]hodnoty // Datova struktura - pole o promenne velikosti, neurcite

function gumujPosledni() // Funkce zlikviduje posledni hodnotu dvourozměrného pole
{
delkaPoleHodnot = hodnoty.length; // Zjistí délku pole
delkaPoleHodnot--; // Pamatuj !!! Pole zacina indexem 0 lenght zacina cislem 1 proto decrementace !
hodnoty.splice(delkaPoleHodnot, 2); */
promenna_jmeno.splice (index_prvku_ktory_chces_odstranit,pocecet_prvkov_ktore_chces_odstranit) /*

}

[/js]

Přidání prvku do pole lze provést:

[js]
function pridejPrvekNaKonec()
{
delkaPoleHodnot = hodnoty.length;

hodnoty[delkaPoleHodnot] = [u1,u2]; // Pridani promennych u1 a u2
}

[/js]

Parádní poznámka k funkci splice. Pokud odeberete některou vnitřní hodnotu z pole tak to pole se
automaticky restrukturalizuje což lze jednoduše říci tak, že o dané místo se posunou ostatní prvky ;-).

vsak index pola zacina od "0", vsak? :-p
cize spravne malo byt
[js]hodnoty[0][0] = 20;
hodnoty[0][1] = -3.78;[/js]
btw, preco mas taku zalubu v anonymnych poliach? mne sa daleko viacej paci normalny objektovy pristup:
[js]var hodnoty = new Array();
hodnoty[0] = new Array(20, -3.78);[/js]
ako odoberat prvky pola:
[js]var pole = new Array(1,2,3,4,5);
pole.shift() //odobere prvy prvok pola
pole.pop() // odobere posledny prvok pola[/js]
pridat prvky do pola zas pomocou
[js]pole.unshift(nejaka_hodnota) // prida na zaciatok pola
pole.push(nejaka_hodnota) // prida na koniec pola
[/js]

Zpět do poradny Odpovědět na původní otázku Nahoru