Autor Zpráva
zeree
Profil *
pole = new Array(5) = [1,2,3,4,5];
ako odstranit napriklad druhy prvok ,som daco skusal ale nerozumiem hlavne {splice}{ak to s tym ma nieco spolocne},ale pri velkych hodnotach to zacalo padat ,mna osobne napadlo prvok vymenit s poslednym a potom ho pop()-nut ,lenze nastal mi pripad , kedy zalezi na poradi a to by som musel ich vsetky od prvku 'i' posunut ,neviem ,sko na to?

ja som tomu splice pochopil tak ze ma tri funkcie pricom jedna odstranuje prvky , dalsia pridava nove prvky ale je mi to velkou zahadou ,raz to ide tak inokedy inak ,no neviem ,aj som skusal nagooglit ale nepochopil som nicomu ,moze mi to prosim niekto vysvetlit
Zerog
Profil
A co konkretne na tom chces vysvetlovat. Zasobnik neboli FILO (First In Last Out) je proste datova struktura definovana tak ze mas funkce

isEmpty, zjistuje jestli je zasobnik prazdny
pop(zasobnik) - vraci zasobnik bez prvniho prvku (jakoby vytahne cislo nahore v zasobniku)
push(prvek, zasobnik) - vlozi "prvek" do "zasovniku"
top(zasobnik) - ukaze co je nahore.

vic veci na zasobniku neni ...to zname ze kdyz mas cisla 1 2 3 4 a 5 a v tomhle poradi je das do zasobniku tak s petkou ktara pride do zasobniku jako posledni (je nahore) muzes manipulovat (odstranit ji), a jednicka ktara prisla do zasobniku jako prvni je ulne dole a nemuzes s ni delat vubec nic jako s 2,3 a 4. Kdyz chces treba vymazat 1 musis vsechno nad ni nekam vyhazet abys ses k ni dostal.

S dvema sobniky de simulovat fronta (FIFO) s trema de treba tridit.
embee
Profil
var myOldArray:Array = new Array(1,2,3,4,5);
trace(myArray) //output 1,2,3,4,5

var myNewArray:Array = myArray.splice(1,1);

trace(myOldArray) //output 1,3,4,5
trace(myNewArray) //output 2

-> splice dela to, ze vezme prvek/prvky z pole, vymaze je a preda je jako navratovou hodnotu, kterou muzes bud ulozit do jineho pole anebo je nechat vymazat. Prvni parametr funkce splice znaci pocatecni index operace, dalsi cislo pocet prvku, se kterym se ma operace provest.

Tudiz v nasem pripade zacinas na indexu jedna (hodnota "2") a operace se tyka jednoho prvku (tudiz pouze te dvojky). Splice vezme dvojku, vymaze ji z pole myOldArray a preda ji jako navratovou hodnotu. Tu rovnou uklada to druheho pole myNewArray.

btw.: To co pise Zerog mi nedava vubec zadny smysl... zasobnik ma byt pole?
zeree
Profil *
re: embee
diky moc ,presne to som potreboval vediet
re:zerog ..vo flashi je zasobnik vyjadreny aj vytvarany ako bezne pole ,lahko sa to zamiena ;D

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0