Gli ultimi tutorial di sviluppo web
 

JavaScript Metodi Array


La forza di array JavaScript risiede nei metodi di matrice.


Conversione array di stringhe

Il metodo JavaScript toString() converte un array in una stringa di (separati da virgola) valori di matrice.

Esempio

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.toString();

Risultato

Banana,Orange,Apple,Mango
Prova tu stesso "

Il join() metodo si unisce anche tutti gli elementi dell'array in una stringa.

Si comporta esattamente come toString() , ma in aggiunta è possibile specificare il separatore:

Esempio

var fruits = ["Banana", "Orange","Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.join(" * ");

Risultato

Banana * Orange * Apple * Mango
Prova tu stesso "

Popping e spingendo

Quando si lavora con gli array, è facile da rimuovere gli elementi e aggiungere nuovi elementi.

Questo è quello popping e spingendo è:

Popping elementi di un array, o spingere oggetti in un array.


popping

La pop() metodo rimuove l'ultimo elemento di un array:

Esempio

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop();              // Removes the last element ("Mango") from fruits
Prova tu stesso "

La pop() metodo restituisce il valore che è stato "spuntato fuori":

Esempio

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.pop();      // the value of x is "Mango"
Prova tu stesso "

spingendo

Il push() metodo aggiunge un nuovo elemento a un array (alla fine):

Esempio

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi");       //  Adds a new element ("Kiwi") to fruits
Prova tu stesso "

Il push() restituisce la nuova lunghezza dell'array:

Esempio

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.push("Kiwi");   //  the value of x is 5
Prova tu stesso "

shifting Elementi

Lo spostamento è equivalente a popping, lavorando sul primo elemento invece dell'ultimo.

La shift() metodo rimuove il primo elemento dell'array e "spostamenti" di tutti gli altri elementi per un indice più basso.

Esempio

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift();            // Removes the first element "Banana" from fruits
Prova tu stesso "

Il unshift() metodo aggiunge un nuovo elemento di un array (all'inizio), e "unshifts" elementi più anziani:

Esempio

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon");    // Adds a new element "Lemon" to fruits
Prova tu stesso "

La shift() restituisce la stringa che è stato "spostato fuori".

Il unshift() restituisce la nuova lunghezza dell'array.


Cambiare Elementi

Elementi di un array sono accessibili usando il loro numero di indice:

Indici di matrice iniziano con 0. [0] è il primo elemento dell'array, [1] è il secondo, [2] è il terzo ...

Esempio

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[0] = "Kiwi";        // Changes the first element of fruits to "Kiwi"
Prova tu stesso "

La proprietà length fornisce un modo semplice per aggiungere un nuovo elemento di un array:

Esempio

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[fruits.length] = "Kiwi";          // Appends "Kiwi" to fruit
Prova tu stesso "

Eliminazione di elementi

Dal momento che gli array JavaScript sono gli oggetti, gli elementi possono essere eliminati utilizzando l'operatore JavaScript delete :

Esempio

var fruits = ["Banana", "Orange", "Apple", "Mango"];
delete fruits[0];           // Changes the first element in fruits to undefined
Prova tu stesso "

Utilizzando delete può lasciare buchi non definiti nella matrice. Utilizzare pop() o shift() invece.


Splicing un array

La splice() metodo può essere usato per aggiungere nuovi elementi a un array:

Esempio

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 0, "Lemon", "Kiwi");
Prova tu stesso "

Il primo parametro (2) definisce la posizione in cui devono essere aggiunti nuovi elementi (impiombato in).

Il secondo parametro (0) definisce quanti elementi devono essere rimossi.

Il resto dei parametri ( "Lemon" , "Kiwi" ) definiscono i nuovi elementi da aggiungere.


Utilizzando splice() per rimuovere gli elementi

Con l'impostazione dei parametri intelligente, è possibile utilizzare splice() per rimuovere gli elementi, senza lasciare "buchi" nella matrice:

Esempio

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(0, 1);        // Removes the first element of fruits
Prova tu stesso "

Il primo parametro (0) definisce la posizione in cui devono essere aggiunti nuovi elementi (impiombato in).

Il secondo parametro (1) definisce quanti elementi devono essere rimossi.

Il resto dei parametri vengono omessi. Non verranno aggiunti nuovi elementi.


Ordinamento di un array

La sort() metodo ordina un array in ordine alfabetico:

Esempio

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();            // Sorts the elements of fruits
Prova tu stesso "

Inversione di una matrice

Il reverse() metodo inverte gli elementi di un array.

Si può usare per ordinare un array in ordine decrescente:

Esempio

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();            // Sorts the elements of fruits
fruits.reverse();         // Reverses the order of the elements
Prova tu stesso "

numerico Sort

Per impostazione predefinita, il sort() funzione ordina valori come stringhe.

Questo metodo funziona bene per archi ( "Apple" viene prima di "Banana" ).

Tuttavia, se i numeri sono ordinati come stringhe, "25" è più grande di "100", perché "2" è più grande "1".

A causa di questo, il sort() metodo produce risultati non corretti durante l'ordinamento numeri.

È possibile risolvere questo problema fornendo una funzione di confronto:

Esempio

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});
Prova tu stesso "

o

Esempio

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a>b});
Prova tu stesso "

Utilizzare lo stesso trucco per ordinare un discendente array:

Esempio

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});
Prova tu stesso "

o

Esempio

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b>a});
Prova tu stesso "

La funzione di confronto

Lo scopo della funzione di confronto è quello di definire un ordinamento alternativo.

La funzione di confronto deve restituire un zero o valore positivo negativo, a seconda degli argomenti:

function(a, b){return a-b}

Quando il sort() funzione confronta due valori, invia i valori per la funzione di confronto, e ordina i valori in base al valore restituito (negativo, zero, positivo).

esempio:

Quando si confrontano 40 e 100, il sort() metodo chiama il confronto function(40,100) .

La funzione calcola 40-100, e restituisce -60 (un valore negativo).

La funzione di ordinamento ordinerà 40 come un valore inferiore a 100.


Trovare il più alto (o più basso) Valore

Come trovare il valore più alto in un array?

Esempio

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});
// now points[0] contains the highest value
Prova tu stesso "

E il più basso:

Esempio

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});
// now points[0] contains the lowest value
Prova tu stesso "

Unire Array

Il concat() metodo crea un nuovo array concatenando due matrici:

Esempio

var myGirls = ["Cecilie", "Lone"];
var myBoys = ["Emil", "Tobias","Linus"];
var myChildren = myGirls.concat(myBoys);     // Concatenates (joins) myGirls and myBoys
Prova tu stesso "

Il concat() metodo può prendere qualsiasi numero di argomenti di matrice:

Esempio

var arr1 = ["Cecilie", "Lone"];
var arr2 = ["Emil", "Tobias","Linus"];
var arr3 = ["Robin", "Morgan"];
var myChildren = arr1.concat(arr2, arr3);     // Concatenates arr1 with arr2 and arr3
Prova tu stesso "

Affettare un array

La slice() metodo fette un pezzo di un array in un nuovo array.

Questo esempio fette una parte di un array partendo da elemento di matrice 1 ( "Orange" ):

Esempio

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1);
Prova tu stesso "

La slice() metodo crea un nuovo array. Non rimuove tutti gli elementi della matrice di origine.

Questo esempio fette una parte di una matrice a partire dall'elemento di matrice 3 ( "Apple" ):

Esempio

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(3);
Prova tu stesso "

La slice() metodo può prendere due argomenti come la slice(1,3) .

Il metodo quindi seleziona gli elementi da l'argomento start, e fino a (ma non compreso) l'argomento finale.

Esempio

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1, 3);
Prova tu stesso "

Se l'argomento fine viene omesso, come nei primi esempi, la slice() metodo affetta il resto della matrice.

Esempio

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(2);
Prova tu stesso "

Il valueOf() Metodo

Il valueOf() metodo è il comportamento predefinito per un array. Converte un array per un valore di base.

JavaScript convertirà automaticamente un array in una stringa quando si prevede un valore di base.

Per questo motivo, tutti questi esempi produrranno lo stesso risultato:

Esempio

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits;
Prova tu stesso "

Esempio

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.valueOf();
Prova tu stesso "

Esempio

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.toString();
Prova tu stesso "

Tutti gli oggetti JavaScript hanno un valueOf() e toString() metodo.


Completa Array di riferimento

Per un riferimento completo, andare al nostro Complete JavaScript Array di riferimento .

Il riferimento contiene le descrizioni ed esempi di tutte le proprietà ei metodi Array.


Mettiti alla prova con esercizi!

Esercizio 1 » Esercizio 2» Esercizio 3 » Esercizio 4» Esercizio 5 »