JavaScript-tömb és annak létrehozását.

Ebben a cikkben fogjuk nézni a JavaScript-tömb, annak összetevőit.A JavaScript egy tökéletesen orientált nyelvet teremtett a programozáshoz.Sőt, rájön nyelven ECMAScript (ECMA-262 szabvány).

Hol használható JavaScript?Ezt használják a beágyazott nyelvet, annak érdekében, hogy meghatározzák az utat, hogy a téma szoftver.Megtalálható a böngészőben: használják ott, mint egy programozási nyelv, amely megadja az interaktivitás a weboldalakat.

jelentős építészeti jellemzőit, a termék dinamikusak és gyenge gépelés, avtoupravlenie memória, ideális programozási funkciók, amelyek a tárgyak az első kategória.

Tulajdonképpen a JavaScript érintett különböző okok miatt, mert a fejlesztési hozna létre hasonló nyelvet Java, de könnyen használható a programozók.By the way, a JavaScript nyelvet nem rendelkezik a vállalat vagy szervezet, amely annyira különbözik számos programot stílusok által használt webes fejlesztők.

Ne feledje, hogy a JavaScript - bejegyzett védjegye aggodalomra Oracle Corporation.

Mi egy tömb?

nevű Tömb adattípus, amely tárolja számozott értékeket.Minden ilyen értéket nevezik komponenseként a tömb, és a számot, amelyre egy komponens az úgynevezett index.JavaScript-típustalan tömb.Ez azt jelenti, hogy a részleteket a tömb lehet bármilyen típusú, különböző tárgyakat egyazon tömb, teljesen különböző stílusokat.

Emellett a JavaScript-tömb dinamikus, és azt mondta, hogy egy fix méretű nincs szükség nyilatkozni.Hozzáadása után új alkatrészek bármikor.

Manufacturing tömb

A nyelv JavaScript, hogy hozzon létre egy tömböt elég nehéz.Két módszer van erre.Az első magában foglalja a termelés a tömbben szó - a szögletes zárójelek belsejében elhelyezett elemek listája, osztva vesszővel.

  • var üres = [];// Üres tömb;
  • numers = var [4, 1, 2, 5];// Tömb öt digitális elemeket;
  • var diff = [1,5, hamis, "text"];// Tömb három elemből különböző.

Általában nincs olyan követelmény, hogy az értékek egyszerű (és sor).Az is lehet, bármilyen más kifejezéseket, például a témát literálok egyéb funkciók és tömbök.

második módja annak, hogy hozzon létre egy tömböt a tervező, hogy hívja Array ().Meghívni őt a három módszer:

  • Calling tervező nélkül érvek: var b - new Array ().Ez létre kívánja hozni az üres tömböt egyenértékű szó üres [].
  • tervező egyértelműen jelzi az érték az N komponensek tömb: var b = new Array (1, 3, 5, 8, "egy vonal», igaz).Ebben az esetben, a tervező bemutatott egy listát a érveket, amelyek alakítjuk komponensei az új tömb.Érvek van írva, hogy a tömb a hely, ahol jelezték.
  • tartalom meghatározás későbbi értékadásra.Ez úgy történik, hogy megadjuk a felismerés tömb számok zárójelben: var b = new Array (5).Ez a módszer kimutatási magában foglalja a elosztását egy tömböt a szükséges alkatrészek számát (amelyek mindegyike szerepel a meghatározatlan) a lehetőségét, hogy az értékeket folytatott tárgyalásról.Ez a forma tipikusan előre lefoglalni a Javascript-tömb, amelynek hossza előre ismert.

írás, olvasás és hozzá alkatrészek tömb

elérjük a komponensek a tömb, akkor a [] operátor.Egyébként az összes elemet JavaScript, kezdve a zéró, számozott.Ahhoz, hogy a szükséges elemeket, annak számát zárójelben.Általános szabály, hogy a tételeket lehet változtatni.A JavaScript hozzá a tömb, meg kell rendelni egy új értéket.

kell jegyezni, hogy a JavaScript elrendezés is tetszőleges számú elem bármilyen.

hossza

Tehát tudjuk, hogy mi a JavaScript.A hossza a tömb általában egy érdekes jelenség.Nézzük meg részletesebben.Minden tartományok által tervezett tervező Array (), és meghatározta köszönhetően szó tömb, hogy egy adott tulajdonság hossza, amely emlékeztet az összes elemet megmarad.Mivel a tömb bizonytalan lehet a részleteket (jele meghatározatlan), pontosabb kifejezése hangzik: Minőség hossza mindig nagyobb, mint az egyik legnagyobb szám (index) komponens tömb.Minőségi hossza automatikusan szabályozza, tartózkodó pontosak előfordulását egy sor új alkatrészek.

érkezett a döntő eleme a tömb, akkor a játékfilm hosszúságú.

utolsó elemének indexe eggyel kevesebb, mint a méret a tömb.Megszámlálása után mindig nulláról indul.Ó, ez a JavaScriptet!A hossza a tömb függ, hogy pontosan hány példány.Ezért, ha nem tudod, hogy mennyit kell, de meg kell fordulni az utolsó elem a tömb, meg kell alkalmazni a rekord: v.length - 1.

Bust alkatrészek tömb

Nagyon gyakran a hossza tulajdonság az végighaladni a tömb részeit a ciklusban:

  • var gyümölcs = [«Strawberry", "barack", "alma", "banán"];
  • for (var i = 0; i & lt; fruits.lenght; i ++);
  • document.write (gyümölcs [i] + «...»).

Ebben a példában, úgy tűnik, hogy az alkatrészek kerülnek folyamatosan, és kezdődik az első rész, amely birtokolja a nulla index.Ha nem, hívás előtt minden eleme a tömb ellenőrizni kell, függetlenül attól, hogy van definiálva.

ciklusban is néha felhasználja a komponenseket.

zoom és a csonkolást tömb

csoda, hogy használja a JavaScript nyelvet stringtömb hozzá?A folyamat során a dolgozó tömbök, a hossza a hossza automatikusan javítja a minőséget, ezért is kell aggódni magad.Meg kell emlékezni körülbelül egy adat - a hossza ingatlan nem csak olvasható áll rendelkezésre, de a rekordot.Ha a hossz attribútumot a minősége az érték, amely megadja a méret a jelenlegi, akkor a tömb csökken egy előre meghatározott érték.Olyan alkatrészek, amelyek nem szerepelnek az új tartományban indexek, dönthető, ezek az értékek elvesznek, akkor is, ha később visszatér hossza - nem lehet visszaállítani.

nagyon könnyű tisztítani, mert a tömb: foo.length = 0.

Ha a minőségi futási hossza nagyobb, mint a jelenlegi értéke végén a tömb lesz új, azonosítatlan tárgyak, amelyek növelik azt a kívánt méretet.

részek eltávolításával tömb

törölni üzemeltető meghatározza az alkatrész tömb nem definiált, de továbbra is léteznek ebben az esetben.Ha el kell távolítani egy elemet a JavaScript elrendezés, hogy a megmaradó részeket kényszerült egy helyet, akkor kell használni az egyik módszer megjósolni a tömb.Módszer Array.shift () eltávolítja az első komponens, pop () - a végső összetevő, és a módszer splice () - egy vagy egy sor komponensek bárhol a tömbben.

többdimenziós tömbök

hiszem, értjük egy kicsit arról, hogy mi a JavaScript.Kétdimenziós tömbök -, hogy foglalkozni kell a további.Emlékszel arra a JavaScript tömböket alkatrészek is tartalmazhatnak?Ez a funkció használható a termelés többdimenziós tömböket.Hogy látogassa meg a hozzávalókat egy sor tömbök elegendő ahhoz, hogy alkalmazzák a zárójelben kétszer.

asszociatív tömbök

Most megtudjuk, hogyan JavaScript védjegye használja asszociatív tömbök.Ehhez meg kell nézni az elmélet az asszociatív tömbök néha egy hash tábla.Köszönet nekik, az indexek használt vonalat.Az ilyen struktúrák emlékeztet a használata a neve a tulajdonságait egy egyszerű tárgy, de ebben a kiviteli alakban, amikor dolgozik egy tömb formátumban.Mivel a JavaScript nincs módja, hogy működnek az asszociatív tömböket, használják őket sokkal ritkábban, mint máskor.Meg kell jegyezni, hogy még mindig hasznos lehet az adatok tárolása és egyszerűsítése tároló részek, amelyhez hozzá szeretne férni.

kimeneti tömb

És most fogjuk tanulmányozni a JavaScript?A kimenet a tömb a párbeszédablakban (a képernyőn), és a kimeneti értékek a komponensek a tömb.

Ha a program megjeleníteni kívánt értékeket az összes komponens, akkor célszerű alkalmazni a vonatkozó utasításokat.Érdekes, hogy a változó-számláló alkalmazunk a szabályok ezt az indexet komponens tömb.

Tisztítás

szűrése tömb JavaScript, be kell állítani a hossza:

  • var myArray = [1, 2, 5, 23];
  • myArray.length = 0.

következő mutatja végrehajtása rendeltetési világos (), a JavaScript-keret, Prototype:

  • egyértelmű: function () {;
  • this.length = 0;
  • vissza ezt;
  • }.

hozzáadása és eltávolítása alkatrészek

Nos, mi továbbra is vizsgálja tovább ezt az érdekes nyelvi JavaScript.Tömbelem és el lehet távolítani, és hozzáadunk ugyanolyan módon, mint a hagyományos tulajdonságait más tárgyakat.De van néhány különbség: míg összeadva a tulajdonságaikat lehet megváltoztatni a minőségi hosszúságú, és a módosítás a length tulajdonság lehet megsemmisíteni numerikus minőségű.Elvileg az algoritmus beállítás adottságok oly tömbök:

  • Ha hozzá az ismeretlen tulajdonságait digitális i, ha a hossza egyenlő vagy kisebb, mint i, hossza határozza meg, hogy az i + 1 ,.
  • Ha megváltoztatja a minőségi hossza készülnek a következő: ha a hozzárendelt érték kisebb, mint nulla, akkor dob RangeError.Felszámolják az összes numerikus minőségi mutatói, amely egyenlő az új hosszt, és nagyobb, mint.

általában kiveszi az elem a JavaScript elrendezés egyszerű.Végtére is, még beállítás hossza, szükséges, hogy távolítsa el az "extra" összetevőket.Ezért a tisztítási lehetőség a tömbben.Ha a változó kap egy új üres tömböt valamilyen okból nem elégedett, és meg kell állítani a jelenlegi, a minőség is elegendő értéket rendelni nulla hosszúságú.

módszerek unshift, shift, pop és nyomja

Annak ellenére, hogy az elemek a tömb megváltozott kézzel, sok ajánlom ezt alkalmazni metódusa.Ez az árnyalat garantálja a helyes értéket a minőség és a hiányzó hossza a tömb halad.By the way, a megfelelő hosszúságú a minőség fog egyezni a komponensek száma.

PUSH módszer végére mozog a tömb át a részleteket.Módszer pop adja vissza az utolsó komponens, és eltávolítja.

Általában az Internet Explorer a nyolcadik verziója unshift visszatérhet definiálatlan, a többiben - az új érték hossza.Tehát a visszatérési érték a unshift jobb nem remélem.

hozzáadása és megszüntetése részek közepén a tömb

Ha törölni szeretnénk egy sor JavaScript, meg kell venni?Köztudott, hogy a módszer egy aláírást splice Array.prototype.splice.

Ő kilép a tömb deleteCount alkatrészek, kezdve index kezdete.Ha át több mint két érv, minden további érvek kerülnek a tömb helyett felszámolják.Ha a kezdeti mínusz, az index, ahonnan folytatni a visszavonás egyenlő lesz a hossza + kezdeni.Visszaadja tömbjére származik a távoli.

Valójában módszerrel splice, alkatrészek lehet távolítani a közepén a tömb, vagy tetszőleges számú bárhol a tömbben.

A legegyszerűbb esetben, ha meg kell vegye ki az alkatrészt indexszel, meg kell kérni a tömb illesztési módszert a paraméterek i és 1.

Elvileg a második lehetőség az illesztési módszer nem kötelező, de a viselkedése egy érv minden böngésző eltérő.

Például a Firefox, az utolsó változatát Opera, a Safari és a Chrome-ban az összes elem lesz vége előtt kivenni a tömb.

IE nem felszámolták az alkatrészeit.Az első variáció lehetetlen megjósolni a viselkedését Opera - eltávolításra kerül egy darabból index Start - 1. Ezért érdemes mindig át a módszerrel legalább két komponenst.

Keys

Természetesen a tanulás JavaScript, asszociatív tömbök, mint korábban említettük, akkor szintén nem szabad szem elől téveszteni.Ez egy absztrakt jellegű információkat (a felületet, hogy az adattár), amely lehetõvé teszi, hogy pár formájában "(kulcs, érték)", és adjunk hozzá egy pár műveletek támogatására, valamint törölheti és keresni kulcspár:

- Keresés (billentyű).

- INSERT (érték, billentyű).

- Vegye ki (billentyű).

Úgy tartják, hogy a asszociatív tömb nem lehet menteni két pár ugyanazzal a kulccsal.Pár k + vv nevű kapcsolódó értéket gombot k.Szemantika és nevek fenti műveletek különböző megvalósításai ilyen tömbök különböző lehet.

Így a hatása Keresés (kulcs) értékét adja vissza társított egy adott kulcsot, vagy egy adott tárgy UNDEF, ami azt jelenti, hogy a kapcsolódó értéket adott kulcs hiányzik.Két egyéb intézkedések nem térnek vissza semmit (kivéve az adatokat, hogy sikeresen végrehajtották ezt a tranzakciót).

Általában a szempontból a felület, amely egy asszociatív tömb tekinteni, mint egy egyszerű tömb, azzal jellemezve, mint indexeket lehet alkalmazni nem csak egész számok, és más típusú értékek - például vonalak.

módon támogatja az ilyen tömbök számos értelmezni magas szintű programozási nyelvek, mint a PHP, Perl, Ruby, Python, Tcl, JavaScript, és mások.Olyan nyelvek, amelyeknek nincs beépített eszközökkel dolgozni asszociatív tömbök, létrehozott egy hatalmas számú megvalósítások könyvtárak formájában.

példája egy asszociatív tömböt szolgálhat egy telefonkönyvet.Ebben a kiviteli alakban, az érték egy sor "F.IO + e ", és a legfontosabb - a telefonszámot.A telefonszám egy mester, de egy embernek is több, a saját szoba.

Associated kiterjesztése

kell jegyezni, hogy a leghíresebb a terjeszkedés a következők:

  • MINDEN - «ugrás» menteni az összes párt.
  • egyértelmű -, hogy törölje a bevitt.
  • MIN - talál egy pár a legalacsonyabb kulcsot.
  • MAX - megtalálják a párt legfontosabb.

Az utóbbi két esetben meg kell a jelölt gombok hatásainak összehasonlítását.

megvalósításai asszociatív tömbök

Sok különböző implementációja asszociatív tömb.A leggyakoribb végrehajtásának alapja lehet egy egyszerű tömb, amelynek elemei a füst (érték) gombot.Hogy gyorsítsák a keresési műveleteket lehet megrendelni az alkatrészeket a tömb és végrehajtása kulcsfontosságú megállapítása egy bináris keresés.De ez növeli az időt, amire szükség van, hogy egy új párt, mint kell "push" összetevője a tömb, amely megjelent egy üres cellába csomag egy újabb rekordot.

legismertebb végrehajtása alapján különböző keresési fák.Például egy tipikus olvasóteremben STL C ++ térképen konténer valósul alapján a fekete és a mahagóni.A stílus Ruby, Tcl, Python használt típusú hash tábla.Vannak még egyéb végrehajtását.

Általánosságban minden egyes végrehajtása megvannak az előnyei és hátrányai.Fontos, hogy mind a három művelet teljesült átlagosan és a legrosszabb időszak a Nuance mintegy (log n), ahol n - az aktuális szám menteni par.Egy összehangolt keresést fák (beleértve a fekete és piros fák), ez a feltétel teljesül.

ismert, hogy megvalósítások alapján hash táblák, amelyek a az átlagos idő O (1), ami jobb, mint az intézkedések alapján a keresési fa.Persze, ez nem garantálja a nagy sebességű végrehajtását az egyes műveletek: időtartamára az INSERT utasítás nevezik a legrosszabb esetben O (n).INSERT folyamatot hajtunk végre hosszú idő, amikor kötelessége aránya eléri a legmagasabb pontot, és nincs szükség arra, hogy rekonstruálják a hash index táblázat.

módon, ezek a kijelentések hash rossz, hogy ezen az alapon lehetetlen számára a gyors további intézkedést MAX, MIN és bejárási algoritmus, hogy mentse az összes párt csökkenő vagy növekvő kulcsokat.