SzámítógépekProgramozás

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

Ebben a cikkben megnézzük JavaScript-tömb, annak elemeit. A JavaScript egy tökéletes forgatókönyv-orientált nyelv tervezett programozás. Tény, hogy a munkagépek ECMAScript nyelv (normál ECMA-262).

A JavaScript? Ezt használják a beágyazott nyelvet, annak érdekében, hogy meghatározzák az utat, hogy a program a téma alkalmazása. Megtalálható a böngészőben: használják ott, mint egy programozási nyelv, amely megadja a weboldalak interaktív.

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.

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

Meg kell jegyezni, hogy a JavaScript - bejegyzett védjegye az Oracle Corporation Group.

Mi egy tömb?

Úgynevezett tömb adattípus, amely tárolja számozott értékeket. Minden ilyen értéket nevezzük a tömb komponens és a számjegyet, amely megköti a komponens, az úgynevezett index. JavaScript-tömb típustalan. Ez azt jelenti, hogy a szilárd részek lehet bármilyen típusú, különböző részei egyazon tömb, hogy teljesen különböző.

Ezen túlmenően, a JavaScript-tömb dinamikus, és azt mondják, hogy egy fix méretű nem kell bejelenteni. Hozzáadása után új alkatrészek bármikor.

szilárd termelési

A JavaScript nyelvet 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 tömböt szó - a szögletes zárójelben, amelynek belsejében van elhelyezve az elemek listáját, osztva vesszővel.

  • 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:

  • Hívja a tervező nélkül érvek: var b - new Array (). Ez gondoskodik a létrehozását egy üres tömböt egyenértékű egy üres szó [].
  • A tervező pontosan megadják a értéke n a tömb komponensei: var b = new Array (1, 3, 5, 8, „sort», igaz). Ebben az esetben a tervező bemutatott egy listát az érvekre, amelyek átalakítják egy új tömböt alkatrészeket. Érvek vannak írva a tömb a hely, ahol jelezték.
  • Körének meghatározása további értékadásra. Ez úgy történik, hogy megadjuk a kimutatási tömb számos zárójelbe: var b = new Array (5). Ez a módszer kimutatási magában foglalja a kiosztási tömb kívánt mennyiségű komponenseket (amelyek mindegyike szerepel, mint meghatározatlan) egy való beosztását értékek bemutatása. Ez a forma általában használt előzetes allokációja az Javascript-tömb, amelynek hossza előre ismert.

Írást, és hozzá részleteket a tömb

Get a komponensek a tömb lehet keresztül üzemeltető []. By the way, az összes komponens JavaScript, nullától kezdve vannak számlálva. Ahhoz, hogy a szükséges elemek, jelzi a számát szögletes zárójelben. Az általános szabály az, tárgyakat lehet változtatni. A JavaScript hozzá a tömb, elegendő hozzá egy új értéket.

Meg kell jegyezni, hogy a JavaScript tömbök tárolhat tetszőleges számú elem bármilyen.

A hossza a tömb

Tehát tudjuk, hogy mi a JavaScript. hossza a tömb általában egy érdekes jelenség. Nézzük meg részletesebben. Minden tartományok vannak előállítva, Array tervező () és a detektált keresztül szó tömb van egy konkrét length tulajdonság, amely visszavonja az összes elemet kímélve. Mivel a tömb bizonytalan lehet a részleteket (definiálatlan A kijelölt), pontosabb kifejezést hangzik: Minőség hossza mindig eggyel nagyobb a legnagyobb számban (index) a tömb komponenst. Minőségi hossza automatikusan állítja be, marad pontosak megjelenése egy sor új részleteket.

Jelenítse meg a végső elem egy tömb, akkor a length tulajdonság.

Az utolsó rész az index eggyel kevesebb, mint a méret a tömb. Miután a visszaszámlálás kezdődik mindig a nulláról. Ó, ez a JavaScriptet! A hossza a tömb függ a pontos elemek száma. Ezért, ha nem tudja, hány nem kell, de meg kell, hogy forduljon az utolsó elem a tömb, akkor kell alkalmazni a rekord: v.length - 1.

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 [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

Kíváncsi vagyok, hogy a nyelvet használó JavaScript string tömb hozzá? A folyamat során a dolgozó tömbök, hossz hossz automatikusan javítja a minőséget, ezért van, hogy vigyázzon rá magad. Szükséges felidézni egy részlet - length tulajdonság nem érhető el, csak olvasható, de a rekordot. Ha a minősége a hossza attribútum olyan értékre, amely rosszabb, mint a méret a jelenlegi, akkor a tömb csökken egy előre meghatározott értékre. 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 - értékeket nem lehet visszaállítani.

Egészen egyszerűen törölje a tömb, mint: foo.length = 0.

Ha a minőség fut 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

A delete operátor jelzi eleme a tömb nem definiált, de továbbra is létezik ebben az esetben. Ha azt szeretnénk, hogy távolítsa el a JavaScript elemet a tömb úgy, hogy a fennmaradó rész felé tolódott el a megüresedett helyre, akkor kell használni az egyik módja megjósolni a tömbben. Módszer Array.shift () eltávolítja egy első komponenst, pop () - lezáró komponenst és egy eljárás splice () - az egyik komponens vagy tartomány bárhol tömb.

többdimenziós tömbök

Úgy tűnik, hogy megértsük egy kicsit, hogy mi a JavaScript. Kétdimenziós tömbök - amelyeket meg kell tovább vizsgálni. Emlékszel, hogy a JavaScript tömbök is tartalmazhat, mint összetevői más elemeket? Ez a funkció használható a termelés többdimenziós tömböket. Hogy látogassa meg a komponenseket egy tömbben a tömbök elegendő alkalmazni a zárójelben kétszer.

asszociatív tömbök

Most megtudhatja, hogyan védjegye JavaSript asszociatív tömböket. Ehhez meg kell vizsgálnunk az elmélet: az asszociatív tömböket néha hash táblák. Köszönet nekik, ahelyett, hogy az index sorok alkalmazzák. Az ilyen szerkezetek emlékeztet a név használatát a tulajdonságok egy egyszerű tárgy, hanem ebben a megvalósításban, a munkavégzés egy tömbben formátumban. Mivel nincsenek kezelési módját JavaScript tömbök asszociatív, használják őket sokkal ritkábban, mint máskor. Meg kell jegyezni, hogy még mindig hasznos lehet az adatok tárolására és egyszerűsítése tároló részek, amelyek elérhető lesz.

Nyomtató tömb

És most tanulmányozni fogjuk a JavaScript rendszer? Nyomtató tömböt a párbeszédablak (a képernyőn), valamint a kimeneti értékek a tömb elemek.

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.

takarítás

Annak érdekében, hogy kiszűrje tömb JavaScript, be kell állítani a hosszát:

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

Az alábbiakban bemutatjuk a végrehajtását cél világos (), egy keret, JavaScript-prototípus:

  • világos: function () {;
  • this.length = 0;
  • vissza ezt;
  • }.

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

Nos, továbbra is vizsgálja tovább az izgalmas JavaScript nyelvet. tömb elemet lehetséges és eltávolítani, és adjunk hozzá azonos módon, mint a hagyományos tulajdonságait más tárgyak. De vannak bizonyos különbségek: hozzátéve numerikus ingatlan minőségi hossza változhat, de a jellemzők változásának hosszúságú lehet szüntetni numerikus minőségét. Alapvetően az algoritmus beállítása adottságok a tömbben a következők:

  • 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.

Tulajdonképpen eltávolítás JavaScript tömb elem egyszerű. Végtére is, még amelyben a hosszát, akkor el kell távolítani az „extra” összetevőket is. Ebből az következik, tisztíthatósága tömb. Ha a változó kap egy új, üres tömböt, bármilyen okból, nem voltak elégedettek, és meg kell állítani a jelenlegi, a minőség is elegendő hosszúságú rendelni értéke nulla.

unshift módszerek, shift, pop és nyomja

Annak ellenére, hogy a komponensek a tömb változtatni manuálisan, sok javasoljuk, hogy használja ezt az integrált módszereket. 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

Ha azt szeretnénk, hogy törölje a tömb JavaScript, meg kell venni? Köztudott, hogy a módszer aláírás illesztési Array.prototype.splice.

Ő 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 használja a splice módszerrel, el 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.

a gombok

Persze, a tanulás JavaScript, asszociatív tömbök, mint korábban említettük, akkor sem szabad figyelmen kívül hagyni. Ez egy absztrakt az információ (a felületet, hogy az adattár), amely lehetővé teszi, hogy mentse egy pár formájában „(kulcs, érték)” és a művelet, hozzátéve egy pár támogató, valamint a törlés és keresés a kulcspár:

- FIND () gombot.

- INSERT (érték, kulcs).

- Vegye ki (kulcs).

Úgy gondoljuk, hogy egy asszociatív tömb nem menteni a két pár hasonló kulcsokat. Pár k + vv értéke van társítva 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.

Mellesleg, támogatja az ilyen tömbök kezelik sok magas szintű programozási nyelvek, mint a PHP, Perl, Ruby, Python, Tcl, JavaScript és mások. Az olyan nyelvek esetében nincs beépített eszközökkel dolgozni asszociatív tömbök, létrehozott egy hatalmas számú felismerések formájában könyvtárak.

Egy példa egy asszociatív tömböt is szolgálhat telefonkönyvben. Ebben a kiviteli alakban, a beállított érték „F. IO + e”, és a legfontosabb - a telefonszámot. Egy telefonszám egy mester, de egy személy is saját több számot.

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 segítségével 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 O (1), ami jobb, mint az intézkedések, amelyek alapján a fa keresést. 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.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 hu.atomiyme.com. Theme powered by WordPress.