JavaScript-Array und seine Schöpfung.

In diesem Artikel werden wir auf JavaScript-Array, dessen Komponenten zu suchen.JavaScript ist eine perfekt orientierte Skriptsprache, für die Programmierung erstellt.In der Tat, erkennt er die Sprache ECMAScript (ECMA-262-Standard).

Wo JavaScript verwenden?Es wird als eine eingebettete Sprache, um den Pfad zu dem Subjekt Softwareanwendung zu bestimmen.Es kann im Browser zu finden: sie dort als eine Skriptsprache, die Interaktivität gibt, um Web-Seiten verwendet wird.

wichtigsten architektonischen Merkmale dieses Produkts sind dynamisch und schwache Typisierung, avtoupravlenie Speicher, ideal Programmierfunktionen, die die Objekte der ersten Kategorie sind.

Eigentlich in JavaScript betroffenen unterschiedlichen Gründen, weil die Entwicklung würde eine Sprache ähnlich wie Java, aber leicht mit dem Programmierer erstellen.By the way, ist die JavaScript-Sprache keine Firma oder Organisation, die es sich von einer Reihe von Programmorten von Web-Entwicklern verwendet, macht besitzen.

Beachten Sie, dass JavaScript - eine eingetragene Marke der Oracle Corporation Anliegen.

Was ist ein Array?

genannte Array-Datentyp, speichert nummerierten Werte.Jeder derartige Wert wird als Bestandteil der Matrix und die Anzahl an dem eine Komponente der Index genannt bezeichnet.JavaScript-Array nicht typisiert.Dies bedeutet, dass die Details des Array kann unabhängig von der Art, mit verschiedenen Gegenständen auf das gleiche Array gehören, haben völlig unterschiedliche Stile.

hinaus ist JavaScript-Array dynamisch, und es wird gesagt, dass eine feste Größe gibt es keine Notwendigkeit zu erklären.Nach dem Hinzufügen neuer Teile zu jeder Zeit.

Fertigungs Array

In der Sprache JavaScript, um ein Array zu erstellen, ziemlich schwierig.Es gibt zwei Verfahren für diese.Die erste beinhaltet die Herstellung eines Arrays mit einer wörtlichen - von eckigen Klammern, in dessen Inneren sich eine Liste der Elemente platziert, geteilt durch Kommas.

  • var leer = [];// Leeres Array;
  • numers = var [4, 1, 2, 5];// Array mit fünf digitalen Komponenten;
  • var diff = [1,5, falsch, «text"];// Array mit drei Elementen unterschiedlicher Typen.

Typischerweise gibt es keine Vorschrift, dass die Werte waren einfach (und Zeilennummer).Es kann auch jede andere Ausdrücke, beispielsweise unter Literale anderen Funktionen und Anordnungen sein.

zweite Möglichkeit, eine Reihe von dem Designer zu erstellen, ist Array () aufrufen.Laden ihn gibt drei Methoden:

  • aufrufen Designer ohne Argumente: var b - new Array ().Es sieht die Schaffung eines leeren Array äquivalent wörtliche leer [].
  • Designer hat klar den Wert von n Komponenten-Array: var b = new Array (1, 3, 5, 8, "eine Linie», true).In diesem Fall stellte der Entwickler eine Liste von Argumenten, die in den Komponenten des neuen Arrays konvertiert werden.Argumente werden in das Array geschrieben werden, ist der Ort, wo angegeben.
  • Scoping für eine spätere Zuweisung von Werten.Dies wird durch die Angabe des Detektionsarray von Zahlen in Klammern getan: var b = new Array (5).Dieses Nachweisverfahren umfasst die Zuweisung von einer Anordnung von der erforderlichen Anzahl von Komponenten mit der Möglichkeit der Zuordnung von Werten in die Gespräche (welche jeweils als undefiniert aufgeführt).Diese Form ist in der Regel verwendet werden, um im Voraus zuweisen die Javascript-Array, dessen Länge im voraus bekannt ist.

Schreiben, Lesen und das Hinzufügen von Teilen Array

erreichen die Komponenten des Feldes, können Sie den Operator [] verwenden.Übrigens sind alle Komponenten in JavaScript, beginnend bei Null, numeriert.Die notwendigen Elemente zu erhalten, wird die Zahl in Klammern angegeben.In der Regel können Elemente geändert werden.A Sie JavaScript, um zum Array hinzufügen, müssen Sie einen neuen Wert zuweisen.

zu beachten, dass in der JavaScript-Array beliebige Anzahl von Elementen aller Art speichern können werden.

Länge

So wissen wir, was JavaScript.Die Länge der Anordnung im allgemeinen ist ein interessantes Phänomen.Betrachten wir es genauer.Alle Bereiche werden von einem Designer Array () konzipiert und dank einer wörtlichen Arrays identifiziert, um eine bestimmte Eigenschaft Länge, die die Gesamtzahl der Elemente erhalten sind, erinnert haben.Da das Array kann ungewissen der Details (von undefined bezeichnet) sein, ertönt ein genauer Ausdruck so: Qualität Länge ist immer um eins größer als die höchste Nummer (Index) Komponente Array.Qualität Länge wird automatisch angepasst, bleiben präzise bei Auftreten in einer Reihe von neuen Artikeln.

auf die letzte Komponente des Feldes kam, können Sie die Spielfilmlänge zu verwenden.

letzte Element hat einen Index ist eine weniger als die Größe des Arrays.Nach dem Zählen immer von vorne anfangen.Oh, das Sie JavaScript!Die Länge des Arrays ist, hängt von der genauen Anzahl der Artikel.Deshalb, wenn Sie nicht wissen, wie viel sie sein sollten, aber Sie müssen zum letzten Element des Arrays einzuschalten, müssen Sie den Datensatz anwenden: v.length - 1.

Bust Teile Array

Sehr oft wird die Länge Eigenschaft verwendet werden, um über die Anordnung der Teile im Zyklus durchlaufen:

  • var Früchten = [«Strawberry", "Pfirsich", "Apfel", "Banane"];
  • for (var i = 0; i & lt; fruits.lenght; i ++);
  • document.write (Obst [i] + «...»).

In diesem Beispiel scheint es, dass die Komponenten kontinuierlich angeordnet und beginnen mit dem ersten Teil, der die Null-Index besitzt.Wenn nicht, vor dem Aufruf jedes Element der Anordnung überprüft werden, ob sie definiert ist.

Zyklus wird auch manchmal verwendet, um Komponenten zu initialisieren.

Zoom und Abschneiden Array

frage mich, wie mit Hilfe der JavaScript-Sprache in einem String-Array hinzuzufügen?In den Prozess der Arbeit mit Arrays, die Länge der Länge verbessert automatisch die Qualität, die ist, warum wir zu kümmern Sie sich.Es ist notwendig, über ein Detail erinnern - die Länge Eigenschaft nicht schreibgeschützt ist verfügbar, aber für das Protokoll.Wenn das Längenattribut, um die Qualität der Wert, der die Größe des aktuellen gibt, dann wird das Feld auf einen vorbestimmten Wert reduziert.Alle Komponenten, die nicht in der neuen Reihe von Indizes, recline enthalten sind, und ihre Werte werden verloren, auch wenn später Länge wieder zurück - nicht wieder hergestellt werden.

sehr leicht zu reinigen, da das Array: foo.length = 0.

Wenn die Qualität der Lauflänge größer als der aktuelle Wert am Ende des Arrays werden neue, nicht identifizierte Gegenstände, die es auf die gewünschte Größe zu erhöhen wird.

Entfernen von Teilen Array

löschen Bediener gibt die Komponentenanordnung zu undefinierten, aber es in diesem Fall bestehen bleibt.Wenn Sie muss ein Gegen JavaScript-Array entfernen, so dass die übrigen Teile wurden für einen Sitz verschoben wird, müssen Sie eine der Methoden verwenden, um das Array vorherzusagen.Verfahren Array.shift () entfernt die erste Komponente, pop () - die letzte Zutat, und die Methode splice () - eine oder eine Reihe von Komponenten überall in der Anordnung.

Mehrdimensionale Arrays

denke, wir verstehen, ein wenig über das, was JavaScript.Zweidimensionale Arrays - die müssen weiter angegangen werden.Sie erinnern sich, dass JavaScript-Arrays als Komponenten können andere Elemente enthalten?Diese Funktion ist für die Erzeugung von mehrdimensionalen Arrays verwendet., Um die Zutaten in einem Array von Arrays zu besuchen, ist ausreichend, um die Klammern zweimal anzuwenden.

assoziative Arrays

Nun, wir lernen, wie Sie JavaScript Marke verwenden assoziative Arrays.Dazu müssen wir in die Theorie aussehen zu tun: assoziative Arrays werden manchmal als eine Hash-Tabelle.Dank ihnen, verwendet die Indizes Linie.Die Verwendung solcher Strukturen die an die Verwendung des Namens der Eigenschaften eines einfachen Objekts, aber in dieser Ausführungsform wird, wenn die Arbeit in einem Array-Format.Wie in JavaScript gibt es keine Möglichkeiten, um assoziative Arrays arbeiten, werden sie viel seltener als üblich verwendet.Es sei darauf hingewiesen, dass sie immer noch nützlich für die Datenspeicherung und vereinfacht die Lagerung von Teilen, auf die Sie zugreifen wollen, werden.

Ausgangsarray

Und jetzt werden wir in der JavaScript studieren?Der Ausgang der Anordnung zum Dialogfeld (auf dem Bildschirm) und die Ausgangswerte der Komponenten des Arrays.

Wenn das Programm, das Sie die Werte aller Komponenten angezeigt werden sollen, dann ist es zweckmäßig, die Anweisungen für die Anwendung.Interessanterweise wird die Variable-counter in den Regeln für diese Indexkomponente Array verwendet.

Reinigung

Um Array von JavaScript zu filtern, müssen Sie die Länge zurück:

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

folgenden zeigt die Umsetzung der Ziel-clear (), in einem JavaScript-Framework, Vorbild:

  • klar: function () {;
  • this.length = 0;
  • return this;
  • }.

Hinzufügen und Entfernen von Komponenten

Nun, wir diese interessante Sprache JavaScript weiter zu erforschen.Array-Element und kann entfernt und in der gleichen Weise wie herkömmliche Eigenschaften anderer Objekte hinzugefügt werden.Aber es gibt einige Unterschiede: Beim Hinzufügen der numerischen Eigenschaften können die Qualität der Länge zu ändern, und die Änderung der Länge Eigenschaft kann von numerischen Qualitäts entsorgt werden.Im Prinzip ist der Algorithmus Einstellung Qualitäten in solchen Arrays ist:

  • Wenn Sie die unbekannten Eigenschaften der digitalen ich hinzufügen, wenn die Länge gleich oder kleiner ist als ich, Länge entschlossen, i + 1 sein ,.
  • Wenn Sie ändern die Qualität der Länge sind wie folgt: wenn der zugewiesene Wert kleiner als Null ist, dann Auslöser Rangeerror.Liquidiert alle numerischen Qualitätsindizes, die gleich der neuen Länge und größer sind.

Allgemeinen entfernen das Element der JavaScript-Array ist einfach.Immerhin, auch die Einstellung der Länge, ist es notwendig, von den "extra" Komponenten zu entfernen.Daher der Reinigungsmöglichkeit in der Anordnung.Wenn die Variable ein neues leeres Array aus irgendeinem Grund, nicht zufrieden zugewiesen ist, und es ist notwendig, um die aktuelle zurückzusetzen, ist ihre Qualität ausreicht, um einen Wert von Null Länge zuweisen.

Methoden unshift, verschieben, Pop und schieben

Trotz der Tatsache, dass die Komponenten der Anordnung werden manuell geändert, viele empfehlen, der integrierten Methoden anzuwenden.Es ist diese Nuance garantiert den korrekten Wert der Qualität und die fehlende Länge im Array hindurchtritt.By the way, die richtige Länge die Qualität wird die Anzahl der Komponenten entsprechen.

Push-Verfahren bewegt sich zum Ende des Arrays auf die Einzelheiten geleitet.Methode pop gibt zurück auf die letzte Komponente und entfernt sie.

Allgemeinen in Internet Explorer unter der achte Version unshift undefined zurückkehren können, in anderen Browsern - der neue Wert der Länge.So auf dem Rückgabewert der unshift ist besser, nicht zu hoffen.

Hinzufügen und Beseitigung von Teilen in der Mitte des Arrays

Wenn Sie ein Array von JavaScript löschen möchten, müssen Sie mitnehmen?Es ist bekannt, dass das Verfahren eine Signatur splice Array.prototype.splice.

Er zieht sich aus dem Array deleteCount Komponenten, beginnend mit dem Index Start.Wenn Sie mehr als zwei Argumente übergeben, werden alle nachfolgenden Argumente in der Array statt platziert liquidiert.Ist start Minus, um den Index, aus dem wieder der Abzug wird gleich der Länge sein + zu starten.Gibt ein Array von Elementen kommt aus der Fernbedienung.

Tatsächlich ist die Verwendung des Verfahrens Spleiß Komponenten können von der Mitte der Anordnung entfernt werden kann, oder in eine beliebige Anzahl überall in der Anordnung.

Im einfachsten Fall, wenn Sie benötigen, um eine Komponente mit dem Index zu entfernen i, haben, um das Array splice-Methode mit den Parametern i und 1.

Im Prinzip ist die zweite Option an der Verbindungsmethode ist nicht obligatorisch, aber das Verhalten der ein Argument in jedem Browser anders anfordern.

Zum Beispiel in Firefox, in den letzten Variationen von Opera, Safari und Chrome in alle Einzelteile wird vor dem Ende des Arrays zurückgenommen werden.

in IE wird eine Komponente nicht liquidiert.Die erste Variante ist nicht möglich, das Verhalten von Opera vorherzusagen - 1. Daher sollten Sie immer in dem Verfahren mindestens zwei Komponenten übergeben - wird ein Stück mit Index Start entfernt werden.

Keys

Natürlich lernen Sie JavaScript, assoziative Arrays, wie bereits erwähnt, müssen Sie auch nicht aus den Augen zu verlieren.Dies ist eine abstrakte Art von Informationen (die Schnittstelle zum Datenspeicher), mit dem Sie Paare der Form zu retten "(Schlüssel, Wert)", und fügen Sie ein Paar von Hilfsbetrieben sowie zu löschen und die Suche nach Schlüsselpaaren ermöglicht:

- FIND (key).

- INSERT (Wert, Schlüssel).

- Entfernen (key).

Es wird angenommen, dass in dem assoziativen Array nicht in der Lage, um zwei Paare mit dem gleichen Schlüssel zu speichern.In ein paar k + vv callte mit Schlüssel k zugeordneten Wert.Semantik und Namen obigen Operationen in verschiedenen Implementierungen solcher Arrays kann unterschiedlich sein.

So wurde die Wirkung von FIND (key) den Wert mit einem gegebenen Schlüssel oder ein bestimmtes Objekt UNDEF, was bedeutet, daß der Wert mit einer bestimmten Taste zugeordnet fehlt verbunden.Zwei weitere Maßnahmen nichts zurück (mit Ausnahme der Daten, die Sie diese Transaktion erfolgreich ausgeführt haben).

allgemeinen vom Gesichtspunkt der Schnittstelle, die eine assoziative Array als ein einfaches Array betrachtet wird, wobei als Index kann nicht nur auf ganze Zahlen, und andere Arten von Werten angewandt werden - zB Linien.

Möglichkeit, die Unterstützung für solche Arrays hat viele interpretiert High-Level-Programmiersprachen wie PHP, Perl, Ruby, Python, Tcl, JavaScript und andere.Für Sprachen, die keine integrierte Tools, mit assoziativen Arrays zu arbeiten, hat eine große Zahl von Implementierungen in Form von Bibliotheken.

Beispiel eines assoziativen Arrays können als Telefonbuch dienen.In dieser Ausführungsform wird der Wert von einem Satz von "F.IO + e ", und der Schlüssel - die Telefonnummer.Eine Telefonnummer ist ein Meister, aber eine Person kann mehrere Räume besitzen.

assoziierten Verlängerungs

zu beachten, dass der berühmteste der Expansion gehören die folgenden sein:

  • EACH - «gehen», alle Paare zu speichern.
  • CLEAR -, um alle Einträge zu löschen.
  • MIN - finden Sie ein Paar mit der niedrigsten Taste.
  • MAX - finden Sie das Paar mit den meisten von entscheidender Bedeutung.

In den letzten beiden Fällen müssen Sie auf die Tasten müssen angegebenen Wirkungen des Vergleichs.

Implementierungen von assoziativen Arrays

Es gibt viele verschiedene Implementierungen des assoziativen Arrays.Die häufigste Implementierung kann auf einem einfachen Array, dessen Komponenten sind die Rauchgase (Wert-Schlüssel) beruhen.Zur Beschleunigung der Suchaktionen können an den Komponenten des Arrays zu bestellen und zu implementieren wichtige Erkenntnis durch Verwendung einer binären Suche.Aber es wird die Zeit, die Sie ein paar neue hinzu, so wird auf "Push" die Komponenten der Anordnung, die in einer leeren Zelle erschienen ist, einen neuen Rekord packen benötigen erhöhen.

bekanntesten Implementierung auf der Basis verschiedener Suchbäume.Zum Beispiel wird in einem typischen Leseraum STL von C ++ Kartenbehälter wird auf der Grundlage der schwarzen und Mahagoni realisiert.Im Stil von Ruby, Tcl, Python verwendet eine Art von Hash-Tabelle.Es gibt auch andere Implementierung.

Im Allgemeinen hat jede Implementierung ihre Vor- und Nachteile.Es ist wichtig, dass alle drei Operationen wurden im Durchschnitt erfüllt, und im schlimmsten Periode der Nuance zu (log n), wobei n - die aktuelle Zahl zu par speichern.Für eine konzertierte Suchbäume (einschließlich schwarz und rot Bäume), ist diese Bedingung erfüllt.

bekannt, dass Implementierungen basierend auf Hash-Tabellen, definiert als die durchschnittliche Zeit O (1), die besser ist als die Aktionen auf der Grundlage der Suchbaum ist.Natürlich bedeutet dies nicht garantieren ein High-Speed-Ausführung bestimmter Operationen: die Dauer der INSERT-Anweisung wird als schlimmsten Fall O (n) bezeichnet.INSERT Verfahren wird für eine lange Zeit, wenn das Tastverhältnis den höchsten Punkt erreicht, durchgeführt wird, und es besteht die Notwendigkeit, den Hash-Indextabelle zu rekonstruieren.

Weise hash diese Aussagen schlecht, dass auf dieser Grundlage ist es unmöglich, durchführen schnelle zusätzliche Maßnahmen MAX, MIN und Durchquerungs-Algorithmus, um alle Paare in der Reihenfolge abnehmender oder zunehmender Tasten speichern.