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…
AZOR 18.03.2006 16:28
AZOR
[js]hodnoty // Datova struktura - pole o promenne velikosti, neurcite function gumujPosledni() // F…
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]…
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

[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