Javascript-array e la sua creazione.

In questo articolo vedremo JavaScript-array, i suoi componenti.JavaScript è un linguaggio di scripting perfettamente orientata, creato per la programmazione.In realtà, egli realizza la lingua (standard ECMA-262) ECMAScript.

Dove usare JavaScript?Viene utilizzato come linguaggio incorporato per determinare il percorso del software soggetto.Si può trovare nel browser: viene utilizzato lì come un linguaggio di scripting che consente interattività alle pagine web.

importanti caratteristiche architettoniche di questo prodotto sono la tipizzazione dinamica e debole, la memoria avtoupravlenie, funzioni di programmazione ideali, che sono gli oggetti della prima categoria.

In realtà, in JavaScript colpito diverse ragioni, perché lo sviluppo creerebbe un linguaggio simile a Java, ma facile da usare per i programmatori.Tra l'altro, il linguaggio Javascript non possiede alcuna società o organizzazione che lo rende diverso da una serie di stili di programma utilizzati dagli sviluppatori web.

noti che JavaScript - un marchio registrato di preoccupazione Oracle Corporation.

Che cos'è una matrice?Tipo

dati chiamata Array che memorizza i valori numerati.Ogni tale valore è indicato come un componente della matrice e il numero a cui un componente è chiamato indice.Array JavaScript-tipizzato.Ciò significa che i dati della matrice possono avere qualsiasi tipo, con vari elementi appartenenti alla stessa matrice, hanno stili completamente diversi.

Inoltre, Javascript-matrice è dinamica, e si dice che una dimensione fissa non c'è bisogno di dichiarare.Dopo l'aggiunta di nuove parti in qualsiasi momento.Matrice

Manufacturing

Usando il linguaggio Javascript, per creare un array molto difficile.Ci sono due metodi per questo.Il primo riguarda la produzione di un array usando un letterale - di parentesi quadre, al cui interno è posto un elenco di elementi, divisi da virgole.

  • var vuoto = [];// Array vuoto;
  • numers = var [4, 1, 2, 5];// Array con cinque componenti digitali;
  • var diff = [1.5, falso, «testo"];// Array con tre elementi di tipi diversi.

In genere, non è necessario che i valori erano semplici (e numero di linea).Essa può anche essere qualsiasi altre espressioni, per esempio, soggetti letterali altre funzioni e array.

secondo modo per creare un array del designer è quello di chiamare Array ().Invito lui ci sono tre metodi:

  • progettista Chiamare senza argomenti: var b - new Array ().Si prevede la realizzazione di una matrice equivalente vuoto letterale vuota [].
  • designer ha indicare chiaramente il valore di n componenti array: var b = new Array (1, 3, 5, 8, "una linea», true).In questo caso, il progettista ha presentato un elenco di argomenti, che vengono convertiti nei componenti del nuovo array.Gli argomenti sono scritti alla matrice è la posizione dove indicato.
  • Scoping per dopo l'assegnazione di valori.Questo è fatto specificando la matrice di rilevamento dei numeri racchiusi fra parentesi: var b = new Array (5).Questo metodo di rilevamento prevede l'assegnazione di un array del numero di componenti (ciascuno dei quali è indicato come definito) con la possibilità di assegnare valori nel processo di discussione.Questo modulo è in genere utilizzato per pre-allocare il Javascript-array la cui lunghezza è noto in anticipo.

scrittura, la lettura e la matrice parti aggiungendo

raggiungere le componenti della matrice, è possibile usare l'operatore [].Per inciso, tutte le componenti di JavaScript, partendo da zero, numerata.Per ottenere gli elementi necessari, il suo numero è indicato tra parentesi.Come regola generale, gli elementi possono essere cambiati.Una JavaScript per aggiungere alla matrice, è necessario assegnare un nuovo valore.

Va notato che nella matrice JavaScript in grado di memorizzare un numero qualsiasi di elementi di qualsiasi tipo.

Lunghezza

quindi sappiamo cosa JavaScript.La lunghezza della matrice in generale è un fenomeno interessante.Consideriamo più in dettaglio.Tutti gli intervalli sono progettate da un progettista Array (), e identificato grazie ad una matrice letterale avere una lunghezza specifica proprietà, che richiama il numero totale di elementi sono conservati.Dal momento che la matrice può essere incerto i dati (indicati con indefinito), l'espressione più precisa suona così: lunghezza qualità è sempre più grande di uno rispetto al più grande allineamento numerazione (indice) componente.Lunghezza Qualità viene regolata automaticamente, rimanendo preciso a verificarsi in una serie di nuove parti.

venuto alla componente finale della matrice, è possibile utilizzare la lungometraggio.

ultimo elemento ha un indice è una minore della dimensione della matrice.Dopo aver contato sempre ripartire da zero.Oh, questo JavaScript!La lunghezza della matrice dipende dal numero esatto di elementi.Pertanto, se non si sa di quanto dovrebbero essere, ma è necessario attivare per l'elemento finale della matrice, è necessario applicare la cronaca: v.length - 1.

Busto parti matrice

Molto spesso, la proprietà length viene utilizzata per scorrere la serie di parti del ciclo:

  • frutta var = [«Fragola", "pesca", "mela", "banana"];
  • for (var i = 0; i & lt; fruits.lenght; i ++);
  • document.write (frutta [i] + «...»).

In questo esempio, sembra che i componenti sono posizionati in modo continuo e iniziano con la prima parte, che possiede l'indice zero.Se no, prima di richiamare ogni elemento dell'array deve essere controllato, se è definito.Ciclo

è talvolta usato per inizializzare i componenti.

Zoom e la matrice troncamento

chiedono come utilizzare il linguaggio JavaScript in una matrice di stringhe da aggiungere?Nel processo di lavoro con gli array, la lunghezza della lunghezza migliora automaticamente la qualità, che è il motivo per cui dobbiamo preoccupare di voi stessi.È necessario ricordare circa un dettaglio - la proprietà length è non sola lettura disponibile, ma per il record.Se l'attributo di lunghezza alla qualità del valore che fornisce la dimensione della corrente, l'array è ridotta ad un valore predeterminato.Tutti i componenti che non sono inclusi nella nuova gamma di indici, adagiarsi, ei loro valori si perdono, anche se poi tornare indietro lungo - non essere ripristinati.

molto facili da pulire perché la matrice: foo.length = 0.

Se la qualità della tiratura superiore al suo valore corrente alla fine della matrice saranno nuovi elementi non identificati, che aumenteranno alla dimensione desiderata.

parti Rimozione gamma

eliminare operatore specifica la matrice componente indefinito, ma continua ad esistere in questo caso.Se è necessario rimuovere un elemento di array JavaScript in modo che le parti restanti sono state sfollate per un posto, è necessario utilizzare uno dei metodi per prevedere l'array.Metodo Array.shift () rimuove il primo componente, pop () - l'ingrediente finale, e il metodo splice () - una o una serie di componenti ovunque nella matrice.

multidimensionali Array

credo abbiamo capito un po 'di ciò che Javascript.Array bidimensionali - che necessitano di essere affrontate ulteriormente.Ti ricordi che gli array JavaScript come componenti possono contenere altri elementi?Questa caratteristica viene utilizzata per la produzione di matrici multidimensionali.Per visitare gli ingredienti in un array di array è sufficiente applicare le staffe due volte.

Array Associativi

Ora, impariamo come marchio JavaScript utilizzare array associativi.Per fare questo abbiamo bisogno di guardare in teoria: gli array associativi sono a volte chiamati una tabella di hash.Grazie a loro, gli indici utilizzati linea.L'uso di tali strutture che ricordano l'uso del nome delle proprietà di un oggetto semplice, ma in questa forma di realizzazione, quando si lavora in un formato array.Come in JavaScript non ci sono modi di operare array associativi, sono utilizzati molto meno frequentemente rispetto al solito.Va notato che ancora possono essere utili per la memorizzazione dei dati e semplificare la memorizzazione di parti a cui si desidera accedere.Array di uscita

E ora studieremo in JavaScript?L'uscita della matrice alla finestra di dialogo (sullo schermo), ed i valori di uscita dei componenti della matrice.

Se il programma che si desidera visualizzare i valori di tutte le componenti, allora è opportuno applicare le istruzioni per.È interessante notare che la variabile-contatore viene utilizzato nelle regole di questo array componente di indicizzazione.

Pulizia

Per filtrare gamma di JavaScript, è necessario reimpostare la lunghezza:

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

seguente mostra l'applicazione di destinazione clear (), in un framework JavaScript, Prototype:

  • chiaro: function () {;
  • this.length = 0;
  • restituire questo;
  • }.

Aggiunta e rimozione di componenti

Beh, continuiamo a esplorare ulteriormente questo linguaggio interessante Javascript.Elemento Array e può essere rimosso e inserito nello stesso modo come proprietà convenzionali di altri oggetti.Ma vi sono alcune differenze: mentre aggiungendo le proprietà numeriche può cambiare la qualità della lunghezza e la modifica della proprietà length possono essere smaltiti qualità numerico.In linea di principio, l'impostazione qualità in tali matrici algoritmo è:

  • Quando si aggiungono le proprietà sconosciute i digitale, se la lunghezza è uguale o inferiore a i, la lunghezza è determinata a essere i + 1 ,.
  • Quando si cambia la qualità della lunghezza sono fatti come segue: se il valore assegnato è inferiore a zero, poi getta RangeError.Liquidated tutti gli indici di qualità numerici che sono uguali alla nuova lunghezza, e superiore.

Generalmente rimuovere l'elemento di array JavaScript è facile.Dopo tutto, anche l'impostazione della lunghezza, è necessario rimuovere dai componenti "extra".Quindi l'opzione di pulizia nella matrice.Se la variabile viene assegnato un nuovo array vuoto per qualche ragione, non soddisfatti, ed è necessario ripristinare la corrente, la sua qualità è sufficiente per assegnare un valore di lunghezza zero.Metodi

unshift, spostamento, pop e spingere

Nonostante il fatto che i componenti della matrice vengono modificati manualmente, molti raccomandano questo applicare metodi incorporati.È questa sfumatura garantisce il valore corretto della qualità e la mancanza di lunghezza nei passaggi di matrice.Tra l'altro, la lunghezza corretta la qualità corrisponde al numero di componenti.Metodo push

sposta alla fine della matrice passò ai dettagli.Metodo pop restituisce al componente finale e lo rimuove.

Generalmente in Internet Explorer quadro dell'ottavo versione unshift può tornare indefinita, in altri browser - il nuovo valore di lunghezza.Così il valore restituito dal unshift è meglio non sperare.

L'aggiunta e l'eliminazione di parti nel bel mezzo della matrice

Se si desidera eliminare una serie di JavaScript, è necessario prendere?È noto che il metodo ha un Array.prototype.splice firma giunzione.

Si ritira dai componenti di matrice deleteCount, a cominciare da inizio indice.Se sono stati trasferiti più di due argomenti, tutti gli argomenti successivi vengono inseriti nella matrice anziché liquidate.Se start è negativo, l'indice da cui riprendere il ritiro sarà uguale alla lunghezza + iniziare.Restituisce un array di elementi deriva dal telecomando.

Infatti, utilizzando il metodo splice, componenti può essere rimosso dal centro della matrice, o aggiungere qualsiasi numero ovunque nella matrice.

Nel caso più semplice, se è necessario rimuovere un componente con indice i, devo chiedere il metodo di matrice giunzione con i parametri ie 1.

In linea di principio, la seconda opzione al metodo di giunzione non è obbligatorio, ma il comportamento di un argomento in ogni altro browser.

Per esempio, in Firefox, nelle ultime variazioni di Opera, in Safari e Chrome in tutti gli articoli saranno essere revocato prima della fine della matrice.

in IE non sarà liquidato alcun componente.La prima variante è impossibile prevedere il comportamento di Opera - verrà rimosso un pezzo con inizio indice - 1. Pertanto, si dovrebbe sempre passare al metodo almeno due componenti.

Keys

corso, imparando JavaScript, array associativi, come accennato in precedenza, è necessario anche non perdere di vista.Si tratta di un tipo astratto di informazioni (l'interfaccia per l'archivio dati), che consente di salvare le coppie della forma "(chiave, valore)" e aggiunge un paio di operazioni di sostegno, così come eliminare e cercare coppie di chiavi:

- trovare (chiave).

- INSERT (valore, chiave).

- RIMUOVERE (chiave).

Si ritiene che nel array associativo in grado di salvare due coppie con la stessa chiave.In un paio di k + vv chiamato valore associato con chiave k.Semantica e nomi sopra le operazioni in diverse implementazioni di tali matrici possono essere diverse.

Così, l'effetto di find (chiave) restituisce il valore associato con una data chiave, o un oggetto specifico UNDEF, che significa che il valore associato con una data chiave è mancante.Altre due azioni non restituiscono nulla (tranne per i dati che avete eseguito con successo questa transazione).

Generalmente, dal punto di vista dell'interfaccia, che è un array associativo considerato come un semplice array, in cui gli indici possono essere applicati non solo ai numeri interi, e altri tipi di valori - per esempio, linee.

modo, il supporto per tali matrici ha molti linguaggi di programmazione di alto livello interpretati come PHP, Perl, Ruby, Python, Tcl, JavaScript, e altri.Per le lingue che non hanno strumenti integrati per lavorare con array associativi, ha creato un gran numero di implementazioni in forma di librerie.

esempio di un array associativo può servire come un elenco telefonico.In questa forma di realizzazione, il valore di un insieme di "F.IO + e ", e la chiave - il numero di telefono.Un numero di telefono è un padrone, ma una persona può possedere diverse sale.

Associated estensione

Va notato che il più famoso di espansione sono i seguenti:

  • OGNI - «torna» per salvare tutte le coppie.
  • CLEAR - per eliminare tutte le voci.
  • MIN - a trovare una coppia con il tasto più basso.
  • MAX - trovare la coppia con la più importante.

Negli ultimi due casi è necessario sui tasti indicati effetti del confronto.Implementazioni

di array associativo

Ci sono molte diverse implementazioni di array associativo.L'implementazione più comune può essere basata su un semplice array i cui componenti sono il (valore di chiave) fumi.Per velocizzare le operazioni di ricerca possono essere ordinati sui componenti della matrice e attuare scoperta chiave utilizzando una ricerca binaria.Ma aumenterà la quantità di tempo che è necessario aggiungere una nuova coppia, come sarà necessario "spingere" i componenti della matrice che è apparso in una cella vuota di confezionare un disco fresco.

più noto di attuazione, sulla base di vari alberi di ricerca.Ad esempio, in una tipica camera di lettura STL C ++ mappa contenitore è realizzato sulla base di nero e mogano.Nello stile di Ruby, Tcl, Python ha utilizzato un tipo di tabella di hash.Ci sono anche altre applicazioni.

In generale, ogni applicazione ha i suoi vantaggi e svantaggi.È importante che tutte le tre operazioni sono state soddisfatte in media, e nel periodo peggiore della sfumatura circa (log n), dove n - il numero corrente di salvare par.Per un concertate alberi di ricerca (compresi gli alberi nero e rosso), questa condizione è soddisfatta.

noto che le implementazioni basate su tabelle hash, definito come il tempo medio di O (1), che è meglio che le azioni basate sul albero di ricerca.Naturalmente, ciò non garantisce una esecuzione alta velocità di alcune operazioni: la durata dell'istruzione INSERT viene indicato come il caso peggiore O (n).INSERTO processo viene eseguito per un lungo periodo in cui il rapporto di conduzione raggiunge il punto più alto, e vi è la necessità di ricostruire la tabella indice hash.Modo

, queste dichiarazioni hash male che su queste basi non è possibile eseguire una rapida azione aggiuntiva MAX, MIN e algoritmo di visita per salvare tutte le coppie in ordine decrescente o crescente chiavi.