JavaScript, matrici: descrizione

10/05/2019

JavaScript è un linguaggio di programmazione moderno, è unico in termini di sintassi e semantica. È specifico, ma facile da usare ed efficace quando si tratta di sviluppare una risorsa di rete dinamica e affidabile.

array javascript

L'array JavaScript è una forma moderna di rappresentazione dei dati che si differenzia da strutture simili di altri linguaggi. Esperienza nel campo della rappresentazione e elaborazione delle informazioni per javascript ha sempre avuto un significato significativo. È qui, nel browser, che il dialogo con il cliente funziona. È qui che è importante smontare rapidamente una riga di informazioni dal server e dipingerla usando i tag necessari. Le lingue dei server formano il contenuto e la struttura delle pagine, ma il loro uso corretto è la preoccupazione della lingua del browser.

Rappresentazione delle informazioni: variabili e dati

Uno sviluppatore professionista usa variabili in casi semplici quando "fa" per (...) {...}, "controlla" mentre (...) {...}, "usa" lo switch () {case "": ...}, ... struttura in In tutti gli altri casi, le informazioni sono rappresentate da strutture di dati.

Codice di esempio, inserto dell'autore, non disegno

Raramente, i dati sono rappresentati da un semplice insieme di variabili. Questo è un costrutto statico che unisce la comunanza nella denominazione e nell'uso. Lavorare con insiemi di variabili è limitato dalla quantità di informazioni fornite ed è quindi utilizzato per semplici algoritmi e funzioni locali.

L'array JavaScript è una versione più dinamica e capiente di una variabile quando si tratta di una struttura dati. Indicando un array, ad esempio, per valore, tempo o un altro parametro, è possibile avere contenuto diverso per ciascun indice. Un array può essere un insieme (struttura definita) di variabili, che, se collocato in un altro array, rappresenterà la dinamica di tale struttura per parametro o per tempo.

Infine, puoi creare una serie di oggetti o un sistema di oggetti: una combinazione concettuale di dati che ha una struttura, un contenuto e un insieme di metodi che "loro stessi" esibiscono le proprietà corrispondenti.

In tutti questi casi, le informazioni sono presentate in modo rigido, formale e accessibile per l'elaborazione tramite il linguaggio. Solo se il codice stesso viene manipolato dal "sistema stesso" degli oggetti e nessuna costruzione è consentita al di fuori del metodo di un oggetto, possiamo dire che esiste la possibilità di elaborare e creare informazioni che non sono formalizzate o formalizzate durante l'esecuzione dell'algoritmo.

Costrutti del linguaggio sintattico

Nella prima approssimazione, l'array JavaScript è simile ai costrutti sintattici di altre lingue. La semantica è anche equivalente, tranne che per le forme della sua espressione. È possibile utilizzare la sintassi e la semantica di JavaScript e risolvere con successo qualsiasi attività complessa.

array associativo javascript

Non vi è alcuna possibilità che la piena mobilità del codice e l'adattamento della risorsa creata alle mutevoli condizioni di applicazione saranno raggiunti, una risposta adeguata a qualsiasi cambiamento imprevisto delle informazioni in arrivo e le regole per il loro trattamento possono essere portate a termine con successo.

Definizione della sintassi della lingua standard Matrici Javascript Le funzioni e i metodi sono abbastanza estesi, ma in pratica viene utilizzata solo una parte.

Codice di esempio, inserto dell'autore, non disegno

forEach è il metodo array più interessante. JavaScript offre allo sviluppatore la possibilità di definire la propria funzione per lavorare con ogni elemento dell'array. Non esiste un concetto di 'interruzione', ovvero, perOgni deve essere considerato come un'operazione su tutti gli elementi dell'array.

  • aData.forEach (funzione (val, ind, arr) {...});

qui 'val' è l'elemento, 'ind' è il suo indice, e 'arr' è l'array attuale 'aData'. La funzione può eseguire qualsiasi azione sugli elementi dell'array. Se ha un determinato significato, sarà l'operazione dello sviluppatore, e non una sintassi del linguaggio, cioè l'array avrà non solo il contenuto, ma anche le operazioni disponibili secondo il suo scopo nel contesto generale dell'algoritmo.

Oltre la sintassi

Usando una serie di oggetti JavaScript, puoi andare oltre la sintassi. Formalmente, ogni variabile oggettuale e ogni costruzione del suo metodo si trova all'interno della sintassi del linguaggio, ma nel contesto della programmazione orientata agli oggetti, sorge un effetto di sistema - una nuova qualità che offre una propria sintassi: relazioni "indipendenti" tra gli oggetti.

Il concetto classico di sviluppo del software: traduzione di un algoritmo formale in costruzioni sintattiche concrete di un linguaggio. In ogni luogo del codice c'è una connessione rigida con quello che è successo a questo posto e cosa succederà dopo di esso.

javascript rimuove l'elemento dell'array

La formula orientata agli oggetti sembra radicalmente diversa. Ci sono oggetti che hanno contenuti e proprietà. Questo è ciò che fornisce la relazione (il codice che li implementa) degli oggetti l'uno con l'altro. Nessun codice al di fuori di queste relazioni dovrebbe essere.

In JavaScript, l'elemento dell'array e il meccanismo di accesso hanno il contesto originale. Tutti gli elementi sono equivalenti, ma l'ultimo è speciale. Un array non è un oggetto, ma guardando un array attraverso il prisma del suo ultimo elemento, nel contesto del suo meccanismo di accesso, è possibile ottenere un oggetto che ne modifica l'essenza e le proprietà - questa è un'omissione importante dell'attuale (moderno) concetto di programmazione orientata agli oggetti, implementata indirettamente dagli sviluppatori linguaggio javascript.

Array Javascript: creazione

Costruzione di array ideale e bella:

  • var aData = []; // essenzialmente sempre un array;
  • var aData = {}; // per contenuto, possibilmente un array associativo;

Puoi scrivere e più "intelligentemente":

  • var aData = new Array ();

o molto "famigerato":

  • var aData = new Array (13).

JavaScript non insiste sull'indicazione obbligatoria del numero di elementi e non impone alcuna regola riguardante l'indicizzazione, le dimensioni o i tipi di elementi. Su questa base semplice, non è consigliabile abusare dei loro diritti limitandoli: tutti gli array dovrebbero essere rappresentati e utilizzati nel modo più libero possibile.

Usa gli array

Ogni elemento dell'array ha un indice - un valore numerico da 0 a 2 32 , ma non si dovrebbe avvicinarsi a questa cifra. Un array JavaScript pragmatico e pratico è composto da decine, centinaia, migliaia di elementi, ma non di più. Se hai bisogno di più, è meglio prima rivedere l'algoritmo o il compito tecnico, e se non accade nulla, solo una massa di milioni di strutture massicce possono essere progettate nelle profondità del browser.

lunghezza dell'array javascript

Gli indici di matrice non sono sempre coerenti. In JavaScript, rimuovere un elemento dell'array significa fare un "buco" in esso. Nel processo di utilizzo di un array, potrebbe trasformarsi in un "setaccio" di indici, che non influisce sulle sue prestazioni, sulla sicurezza di altri elementi.

JavaScript è privo di un costrutto PHP sintetico: $ aData [] = "new element"; e propone di indicare rigorosamente cosa viene aggiunto e in quale particolare elemento (con quale indice) il valore cambia. Il tipo di oggetto non ha importanza. Un array può contenere tutto ciò che è consentito dalla sintassi, in qualsiasi ordine e assortimento.

I metodi push () e pop () eliminano la mancanza di "$ aData [] = ...", ma attirano l'attenzione dello sviluppatore sull'idea dell'ultimo elemento e ti ricordano il concetto di pila. Un simile paio di metodi - unshift () e shift () - lavora con il primo elemento dell'array, spostando gli altri elementi verso indici grandi.

Codice di esempio, inserto dell'autore, non disegno

Per javascript, la lunghezza dell'array è un concetto relativo. Non sempre riflette il numero effettivo di elementi e, essendo legato al metodo della lunghezza, ad esempio, in un ciclo, si dovrebbe sempre verificare se l'elemento con l'indice richiesto esiste effettivamente.

Dimensione della matrice

I sistemi sono "sempre unidimensionali", ma ogni sistema è costituito da sottosistemi interni ed è esso stesso parte di qualcosa di più globale. Come il concetto generale dei sistemi, non c'è array bidimensionale in JavaScript, ma può essere facilmente creato aggiungendo altri array come elementi di array.

Codice di esempio, inserto dell'autore, non disegno

L'indicizzazione per array interni è formata in modo naturale: "aData [i] [j] ... [z]", ma l'idea è sempre preferibile:

  • var aElement = aData [i]; // seleziona l'array interno;
  • aElement [j] = ...; // usa l'elemento array interno.

In JavaScript, è consentita l'aggiunta di una variabile di qualsiasi tipo e in qualsiasi ordine a un array. È inoltre possibile aggiungere qualcosa all'array interno secondo le regole generali. Per accedere agli elementi, è possibile utilizzare una sequenza di parentesi [], ma è sempre preferibile eseguire una riassegnazione, limitata a una sola coppia [] in ciascuna espressione.

Array JavaScript multidimensionali - va bene fornito dalla sintassi ed è abbastanza applicabile nella pratica. Ma, come in altre lingue, è meglio quando le dimensioni sono più piccole e la leggibilità del codice è più alta. I programmi, ovviamente, sono scritti per computer, interpreti e compilatori, ma le persone li scrivono, le persone li accompagnano e più alta è la disponibilità del codice per l'autore e lo sviluppatore di terze parti, più è pratico.

Aggiungi e rimuovi oggetti

La sintassi JavaScript ti consente di aggiungere elementi a un array semplicemente creando un nuovo indice:

  • aData [3] = "qualche valore";
  • aData [100] = "ultimo elemento".

Dopo queste istruzioni JavaScript, l'array aData avrà 101 elementi. La numerazione inizia dall'indice 0. Per il metodo length, non importa quanti elementi ci sono stati nell'array al momento dell'esecuzione di "aData [100] = ...;".

ordinamento di array javascript

Per rimuovere un elemento dell'array in JavaScript, puoi usare i suoi metodi pop () o shift (). Nel primo caso, il risultato di var last = aInfo.pop () sarà 'watermelon' e nella matrice rimarrà: 'apple', 'pear', 'mandarin'. Nel secondo caso, var first = aInfo.shift () sarà 'apple', e gli elementi rimanenti si sposteranno all'inizio.

Questa opzione è molto efficace quando la matrice di oggetti JavaScript è un oggetto di modifica della semantica e del contenuto. Il meccanismo di campionare un elemento con la sua rimozione consente di utilizzare l'elemento corrente dell'array e passare direttamente a quello successivo. Come nella pila: preso dalla pila, usato - e ottenuto l'accesso all'elemento successivo.

Quando si utilizza l'operatore JavaScript, è possibile eliminare l'elemento dell'array come segue:

  • elimina aInfo [1].

Dopo aver eseguito questa istruzione, l'elemento rimarrà effettivamente nell'array, ma il suo valore sarà 'indefinito'. Usando il metodo slice, un array JavaScript può essere "diviso":

  • aData = aInfo.slice (0, 2).

La matrice originale di aInfo rimarrà invariata, e solo la mela e la pera cadranno in aData. Se scrivi:

  • aData = aInfo.slice (2);

quindi solo un 'mandarino' e un 'cocomero' rimangono nell'array aData.

Elementi di ordinamento, stringa e matrice

Operazioni JavaScript: l'ordinamento di una matrice, la conversione di una matrice in una stringa, la formazione di una matrice da una stringa e la modifica dell'ordine degli elementi sono le più richieste. Queste operazioni vengono eseguite utilizzando i metodi:

  • ordina (ordina elementi),
  • join (converti array in stringa),
  • diviso (converti stringa in matrice),
  • reverse (cambia l'ordine degli elementi).

Questi sono gli strumenti più interessanti e usati per processare array e stringhe. Una caratteristica interessante: per JavaScript, l'elemento dell'array e la stringa sono qualità complementari peculiari. Se non consideriamo la caratteristica dei linguaggi moderni: qualsiasi variabile è sempre una stringa, cioè può sempre essere considerata una stringa, quindi la trasformazione di una matrice in una stringa e viceversa è un'operazione molto popolare ed efficace.

array bidimensionale javascript

L'uso della coppia join / split è particolarmente originale: l'unione degli elementi di una matrice in una stringa avviene su un delimitatore (spesso vuoto, ovvero gli elementi vengono uniti in una stringa) e la trasformazione inversa in una matrice viene eseguita su un altro delimitatore.

Codice di esempio, inserto dell'autore, non disegno

Se non si tiene conto dell'implementazione dei metodi di fusione e separazione, l'utilizzo di questa coppia consente di creare algoritmi eccellenti.

La funzione reverse () viene applicata direttamente alla matrice e inverte l'ordine degli elementi in essa contenuti. La funzione sort () ordina gli elementi nell'array sorgente, restituisce il risultato in ordine alfabetico.

Se si passa una funzione come parametro per ordinare (function (a, b) {...; return result;}), è possibile controllare l'ordinamento utilizzando il proprio algoritmo. Tale funzione dovrebbe restituire '0' se 'a' e 'b' sono equivalenti, '-1' - se 'a' dovrebbe precedere 'b' e '1' - se 'b' dovrebbe precedere 'a'.

Se non vi è alcuna possibilità di ottenere un risultato errato rispetto alla funzione reverse (), quindi rispetto all'ordinamento, l'algoritmo per l'esecuzione e il test del codice scritto è essenziale. Questo è particolarmente importante da ricordare. quando la matrice contiene i caratteri (stringhe) dell'alfabeto nazionale.

Smart array e propri indici

Per JavaScript, un array associativo è la forma primitiva di un oggetto. Semplicemente non ci sono metodi, ma ci sono solo un paio di "chiave" e "valore". Una coppia di parentesi graffe viene utilizzata per indicare una matrice di questo tipo.

Codice di esempio, inserto dell'autore, non disegno

In questo esempio, viene utilizzato l'array cSortCols, gli elementi di cui prendono tre valori:

  • '' - nessuna selezione;
  • 'u' - ordina in ordine crescente (su);
  • 'd' - ordinamento in ordine decrescente (in basso).

Tuttavia, a seconda di cosa viene ordinato (in questo esempio, il sito è stato progettato per il trasporto di passeggeri su minibus): passeggeri, corrieri, autobus o città. Pertanto, nelle tabelle di elementi è consentito ordinare solo per colonne specifiche. Pertanto, su ogni pagina specifica, l'array cSortCols ha un contenuto specifico: cUsersSort, cCompaniesSort, cBusesSort o cCitiesSort.

La creazione di un array associativo in JavaScript può andare molto oltre. L'esempio fornito di ordinamento è una soluzione particolare di un'attività molto particolare: l'uscita dalla situazione quando la funzione JavaScript (ordinamento) non è applicabile.

Le strutture dati sono molto buone e l'uso di set variabili è molto poco pratico. Ma nessuno vieta l'uso di nomi di variabili come indici. La matrice in cui gli indici sono rappresentati da nomi di variabili è una meravigliosa struttura dati mobile. Non ha necessariamente tutti gli indici, ma in ogni posto del programma saranno nella giusta composizione.

Uno sviluppatore può progettare array intelligenti che riflettono le giuste strutture di dati nel posto giusto. Allo stesso tempo, è possibile non procedere al pieno utilizzo degli oggetti, basta usare le loro capacità nella fase di descrizione della struttura e del contenuto dei dati.

Esercitati a lavorare con gli array

A differenza dei linguaggi del server, in cui è sempre chiaro cosa elaborare e quale dovrebbe essere il risultato, JavaScript richiede uno specifico pensiero multilivello. Una pagina del sito può generare eventi di script e chiamate in modi imprevisti. Anche quando il compito tecnico per il sito è svolto in modo ideale, e il dialogo con il visitatore non può andare oltre i limiti stabiliti, le sorprese accadono.

javascript aggiunto all'array

Una caratteristica caratteristica di JavaScript è che un elemento della pagina può attivare un particolare processo. Di conseguenza, alcuni dati, matrici, oggetti verranno modificati. Un altro processo dovrebbe avere un'idea di ciò che è stato cambiato.

Idealmente, i processi dovrebbero essere dipinti su oggetti e matrici in modo che ogni evento, iniziando un processo, predeterminhi tutto ciò che è necessario per tutti gli altri processi che dipendono da esso.

Non si può dare il benvenuto alla programmazione orientata agli oggetti e non si sforzano di garantire che tutte le pagine del sito siano dotate di sistemi completi di oggetti che entrano nelle relazioni e non esiste una singola riga di codice al di fuori dei metodi di tali oggetti, ma anche nel caso di uno stile di sviluppo esclusivamente classico Gli array JavaScript, in particolare i set di implementazioni associative e armate della funzione forEach, sono uno strumento eccellente per codice affidabile e pratico.