Javascript-tömb és annak létrehozását
A főbb építészeti jellemzőit, a termék dinamikusak és gyenge gépelés, avtoupravlenie memória ideális programozási funkciókat, melyek tárgyai az első kisülés.

Mi egy tömb?

szilárd termelési
- var üres = []; // üres tömb;
- var numers = [4, 1, 2, 5]; // tömb öt digitális elemeket;
- var diff = [1,5, hamis, «text"]; // tömb három elemet különböző típusú.
Általános szabály, hogy nem szükséges, hogy egyszerű értékek (sorok és számok). Azt is lehet más kifejezések, például objektum literálok, egyéb funkciók és tömbök.
A második módja annak, hogy egy tömb tervező hívni Array (). Ahhoz, hogy meghívja őt, hogy a következő három módszer:
Írást, és hozzá részleteket a tömb

A hossza a tömb
Jelenítse meg a végső elem egy tömb, akkor a length tulajdonság.
Megismételve a tömb a részek
Nagyon gyakran, a hossza tulajdonság az végighaladni a tömb részei a ciklusban:
- var gyümölcsök = [ «eper”, "barack", "alma", "banán"];
- for (var i = 0; i
- document.write (gyümölcsök [i] + «»).
Ebben a példában úgy tűnik, hogy a komponensek el vannak rendezve folyamatosan, és kezdődik az első rész, amely az előbbi index nulla. Ha ez nem így van, mielőtt hívja minden eleme a tömb ellenőrizni kell, ha meg van adva.
A ciklus is szoktak használni, hogy inicializálja a komponenseket.
A növekedés és a csonkítás tömb
Egészen egyszerűen törölje a tömb, mint: foo.length = 0.
Ha a minőségi futás hossza nagyobb, mint a jelenlegi értéke, a végén a tömb lesz új, azonosítatlan komponenseket, ami növeli azt a kívánt méretet.
Törlése tömb adatai

többdimenziós tömbök
asszociatív tömbök

Nyomtató tömb
Ha a program a megjeleníteni kívánt értékek az összes komponens, akkor célszerű alkalmazni az utasításokat. Érdekes, hogy a változó-számláló használati szabályaival ugyanabban az időben, mint a komponens a tömb index.
Hozzáadása és eltávolítása alkatrészek
- Amikor egy új, digitális ismeretlen tulajdonságai i, ha a hossza egyenlő vagy kisebb, mint i, hossza határozza meg, hogy i + 1.
- Ha megváltoztatja a minőségi hossza hajtsa végre az alábbi lépéseket: Ha a kijelölt érték kisebb, mint nulla, akkor dob RangeError. Megszünteti az összes numerikus minőségi mutatói, amelyek megegyeznek az új hosszt, és nagyobb, mint.

unshift módszerek, shift, pop és nyomja
Annak ellenére, hogy a komponensek a tömb változtatni manuálisan, a legtöbben azt javasolják, hogy ezt a beépített módszerekkel. Ez az árnyalat garantálja a pontos érték a minőség és a hiányzó hossza a tömb halad. By the way, a minőség megfelelő hosszúságú felel meg a komponensek száma.
A folyamat halad, hogy álljon az a tömb végéig terjedő terméket. Pop vissza folyamat adja a végső összetételét és eltávolítja.
Általában az Internet Explorer alatt a nyolcadik változat unshift visszatérhet meghatározatlan, más böngészők - az új érték hossza. Annak érdekében, hogy a visszatérési érték a unshift jobb, ha nem remény.
Az addíciós és eliminációs alkatrészek közepén a tömb
Ő kilép a tömb deleteCount alkatrészek, kezdve index kezdet. Ha át több mint két érv, az összes többi érv a tömbben vannak elrendezve helyett a felszámolt. Ha a kezdeti mínusz, az index, amely folytatni a visszavonás lesz hosszával megegyező + kezdeni. Visszatérve a tömb távoli elemek zajlik.
Tény, hogy az illesztési módszer, ez lehet távolítani alkatrészeket a közepén egy tömb vagy tetszőleges számú bárhol a tömbben.
A legegyszerűbb kiviteli alakban, ha ez szükséges, hogy eltávolítsuk a komponens i index, a tömb kell kérnie splice módszerrel paraméterekkel i és 1.
Elvileg a második lehetőség az illesztési módszer nem kötelező, de a viselkedését a funkció egy érv minden böngésző eltérő.
Például a Firefox, az Opera az elmúlt variációk, minden részletet vége előtt a tömb lesz távolítva a Safari és a Chrome.
egyetlen alkatrész eliminálódik az IE. Az első variáció lehetetlen megjósolni a viselkedését Opera - eltávolításra kerül egy elem indexe Start - 1. Ezért mindig szükséges ez a módszer továbbítására legalább két komponenst.
- INSERT (érték, kulcs).
Úgy gondoljuk, hogy egy asszociatív tömb nem menteni a két pár hasonló kulcsokat. Pár k + v v kapcsolódó értéket k kulccsal. Szemantika és itt a fenti műveletek különböző megvalósításai ilyen tömbök eltérő lehet.
Így, FIND műveletet (kulcs) értéket ad vissza társított egy adott billentyűt, vagy egy adott tárgy UNDEF, ami azt jelenti, hogy a értéke hozzárendelve egy adott billentyűt, offline. Két egyéb intézkedések nem térnek vissza (kivéve azokat az adatokat arról, hogy a művelet sikeres volt).
Általában tekintve interfész, asszociatív tömb, amely tekinthető egy egyszerű tömb, azzal jellemezve, mint indexeket lehet alkalmazni nem csak egész számok, hanem más típusú és értékek - például vonalak.
kapcsolódó bővítmény
Meg kell jegyezni, hogy a legismertebb kiterjesztések a következők:
- MINDEN - «séta» minden ment pár.
- Egyértelmű -, hogy törölje az összes bejegyzést.
- MIN - találni egy pár a legalacsonyabb kulcs értékét.
- MAX - találni egy pár a legnagyobb kulcs értékét.
Az utóbbi két esetben meg kell a jelölt gombok összehasonlítás hatása.
Megvalósítás asszociatív tömbök
Sok különböző megvalósításai asszociatív tömb. A leggyakoribb végrehajtás alapja lehet egy egyszerű tömb, amelynek összetevői a pár (kulcsértékhez). Ahhoz, hogy gyorsítsák fel a keresési funkciók, akkor intézkedik a tömb komponensei által kulcsfontosságú megállapítása és végrehajtása egy bináris keresés. De ez növeli a szükséges időt, hogy egy új párt, amint azt kell „push” tömb komponensei, hogy megjelent egy üres sejt a csomag egy újabb rekordot.
A legismertebb végrehajtása alapján különböző keresési fák. Például egy tipikus olvasóteremben STL C ++ nyelven pótkocsik térkép alapján végrehajtott fekete és mahagóni. A Ruby, stílusok, Tcl, Python használ egyféle hash táblák. Vannak más végrehajtását.

Általában minden végrehajtás megvannak a maga előnyei és hátrányai. Fontos, hogy mind a három művelet teljesült átlagosan és a legrosszabb időszak árnyalatot körülbelül (log n), ahol n - aktuális szám mentéséhez par. Összehangolt keresési fák (beleértve a fekete és piros fák), ez a feltétel teljesül.
Köztudott, hogy a megvalósítások alapján hash táblák, az átlagos idő az D (1), ami jobb, mint az intézkedések alapján a keresési fák. Természetesen ez nem garantálja a nagy sebességű teljesítményt elkülönült műveletek: INSERT művelet ideje a legrosszabb esetben, jelöljük O (n). INSERT folyamatot hajtunk végre egy hosszú idő, amikor a kitöltési tényező eléri a legmagasabb pontot, és arra van szükség, hogy rekonstruálják a hash tábla index.
By the way, ezek a megállapítások hash rossz, hogy ezen az alapon nem lehet végrehajtani a gyors akció további MAX, MIN és egy algoritmust a keresés minden ment pár csökkenő sorrendben vagy emelkedő kulcsokat.

