Skip to content

Instantly share code, notes, and snippets.

@withArtur
Last active September 26, 2024 14:06
Show Gist options
  • Save withArtur/8cb09dcf34bc5723056546ad604ba03b to your computer and use it in GitHub Desktop.
Save withArtur/8cb09dcf34bc5723056546ad604ba03b to your computer and use it in GitHub Desktop.
Lavorare con gli Array in Javascript

1. forEach()

  • Scopo: Eseguire una funzione di callback per ogni elemento dell'array.
  • Restituisce: undefined. Non restituisce un nuovo array.
  • Utilizzo: Quando vuoi semplicemente eseguire un'azione per ogni elemento, senza bisogno di creare un nuovo array o di restituire un valore.

Esempio:

const numeri = [1, 2, 3, 4, 5];

numeri.forEach(numero => {
  console.log(numero * 2); // Stampa il doppio di ogni numero
});

2. map()

  • Scopo: Creare un nuovo array con gli stessi elementi dell'array originale, ma modificati dalla funzione di callback.
  • Restituisce: Un nuovo array con gli elementi modificati.
  • Utilizzo: Quando vuoi creare un nuovo array con elementi modificati.

Esempio:

const numeri = [1, 2, 3, 4, 5];

const quadrati = numeri.map(numero => numero * numero); // Crea un nuovo array con i quadrati dei numeri

console.log(quadrati); // [1, 4, 9, 16, 25]

3. filter()

  • Scopo: Creare un nuovo array con solo gli elementi che soddisfano una condizione definita dalla funzione di callback.
  • Restituisce: Un nuovo array con gli elementi che soddisfano la condizione.
  • Utilizzo: Quando vuoi selezionare solo gli elementi che soddisfano un criterio specifico.

Esempio:

const numeri = [1, 2, 3, 4, 5];

const numeriPari = numeri.filter(numero => numero % 2 === 0); // Crea un nuovo array con solo i numeri pari

console.log(numeriPari); // [2, 4]

4. every()

  • Scopo: Verificare se tutti gli elementi dell'array soddisfano una condizione definita dalla funzione di callback.
  • Restituisce: true se tutti gli elementi soddisfano la condizione, false altrimenti.
  • Utilizzo: Quando vuoi sapere se tutti gli elementi dell'array soddisfano un criterio specifico.

Esempio:

const numeri = [2, 4, 6, 8];

const tuttiPari = numeri.every(numero => numero % 2 === 0); // Verifica se tutti i numeri sono pari

console.log(tuttiPari); // true

5. some()

  • Scopo: Verificare se almeno un elemento dell'array soddisfa una condizione definita dalla funzione di callback.
  • Restituisce: true se almeno un elemento soddisfa la condizione, false altrimenti.
  • Utilizzo: Quando vuoi sapere se almeno un elemento dell'array soddisfa un criterio specifico.

Esempio:

const numeri = [1, 3, 5, 7];

const almenoUnoDispari = numeri.some(numero => numero % 2 !== 0); // Verifica se almeno un numero è dispari

console.log(almenoUnoDispari); // true

6. reduce()

  • Scopo: Ridurre l'array a un singolo valore, applicando una funzione di callback cumulativa a ogni elemento.
  • Restituisce: Un singolo valore.
  • Utilizzo: Quando vuoi calcolare un valore aggregato dall'array, come la somma, il prodotto, il minimo o il massimo.

Esempio:

const numeri = [1, 2, 3, 4, 5];

const somma = numeri.reduce((acc, numero) => acc + numero, 0); // Calcola la somma di tutti i numeri

console.log(somma); // 15

7. for...of

  • Scopo: Iterare su ogni elemento dell'array.
  • Restituisce: undefined. Non restituisce un nuovo array.
  • Utilizzo: Quando vuoi semplicemente iterare su ogni elemento dell'array, senza bisogno di creare un nuovo array o di restituire un valore.

Esempio:

const numeri = [1, 2, 3, 4, 5];

for (const numero of numeri) {
  console.log(numero); // Stampa ogni numero
}

8. for...in

  • Scopo: Iterare sulle chiavi di un oggetto.
  • Restituisce: undefined. Non restituisce un nuovo array.
  • Utilizzo: Quando vuoi iterare sulle chiavi di un oggetto.

Esempio:

const persona = {
  nome: "Marco",
  eta: 30
};

for (const chiave in persona) {
  console.log(chiave + ": " + persona[chiave]); // Stampa le chiavi e i valori dell'oggetto
}

Altre funzioni utili per lavorare con gli Array in Javascript

1. concat()

  • Scopo: Unire due o più array in un nuovo array.
  • Restituisce: Un nuovo array che contiene tutti gli elementi degli array uniti.
  • Utilizzo: Quando vuoi combinare due o più array in un unico array.

Esempio:

const array1 = [1, 2, 3];
const array2 = [4, 5, 6];

const arrayUnito = array1.concat(array2); // Combina i due array

console.log(arrayUnito); // [1, 2, 3, 4, 5, 6]

2. join()

  • Scopo: Convertire un array in una stringa, separando gli elementi con un delimitatore specificato.
  • Restituisce: Una stringa che contiene tutti gli elementi dell'array separati dal delimitatore.
  • Utilizzo: Quando vuoi creare una stringa da un array, ad esempio per visualizzare i dati in un formato specifico.

Esempio:

const numeri = [1, 2, 3, 4, 5];

const stringaNumeri = numeri.join("-"); // Crea una stringa con i numeri separati da "-"

console.log(stringaNumeri); // "1-2-3-4-5"

3. slice()

  • Scopo: Estrarre una porzione di un array, creando un nuovo array.
  • Restituisce: Un nuovo array che contiene gli elementi specificati.
  • Utilizzo: Quando vuoi creare un nuovo array con una parte degli elementi di un array esistente.

Esempio:

const numeri = [1, 2, 3, 4, 5];

const sottoArray = numeri.slice(1, 3); // Crea un nuovo array con gli elementi dall'indice 1 all'indice 2 (escluso)

console.log(sottoArray); // [2, 3]

4. splice()

  • Scopo: Modificare un array rimuovendo o aggiungendo elementi in una posizione specifica.
  • Restituisce: Un nuovo array che contiene gli elementi rimossi.
  • Utilizzo: Quando vuoi modificare un array in modo diretto, rimuovendo o aggiungendo elementi.

Esempio:

const numeri = [1, 2, 3, 4, 5];

const elementiRimossi = numeri.splice(2, 1, 6, 7); // Rimuove l'elemento all'indice 2 e inserisce 6 e 7 al suo posto

console.log(numeri); // [1, 2, 6, 7, 4, 5]
console.log(elementiRimossi); // [3]

5. sort()

  • Scopo: Ordinare gli elementi di un array in base a un criterio specificato.
  • Restituisce: Lo stesso array, ma ordinato.
  • Utilizzo: Quando vuoi ordinare gli elementi di un array in ordine crescente o decrescente.

Esempio:

const numeri = [3, 1, 4, 2, 5];

numeri.sort((a, b) => a - b); // Ordina in ordine crescente

console.log(numeri); // [1, 2, 3, 4, 5]

6. reverse()

  • Scopo: Invertire l'ordine degli elementi di un array.
  • Restituisce: Lo stesso array, ma con gli elementi in ordine inverso.
  • Utilizzo: Quando vuoi invertire l'ordine degli elementi di un array.

Esempio:

const numeri = [1, 2, 3, 4, 5];

numeri.reverse(); // Inverte l'ordine degli elementi

console.log(numeri); // [5, 4, 3, 2, 1]

7. includes()

  • Scopo: Verificare se un array contiene un elemento specifico.
  • Restituisce: true se l'elemento è presente nell'array, false altrimenti.
  • Utilizzo: Quando vuoi sapere se un elemento è presente in un array.

Esempio:

const numeri = [1, 2, 3, 4, 5];

console.log(numeri.includes(3)); // true
console.log(numeri.includes(6)); // false

8. indexOf()

  • Scopo: Trovare l'indice della prima occorrenza di un elemento specifico in un array.
  • Restituisce: L'indice dell'elemento, o -1 se l'elemento non è presente nell'array.
  • Utilizzo: Quando vuoi trovare la posizione di un elemento in un array.

Esempio:

const numeri = [1, 2, 3, 4, 5];

console.log(numeri.indexOf(3)); // 2
console.log(numeri.indexOf(6)); // -1

9. lastIndexOf()

  • Scopo: Trovare l'indice dell'ultima occorrenza di un elemento specifico in un array.
  • Restituisce: L'indice dell'elemento, o -1 se l'elemento non è presente nell'array.
  • Utilizzo: Quando vuoi trovare la posizione dell'ultima occorrenza di un elemento in un array.

Esempio:

const numeri = [1, 2, 3, 4, 3, 5];

console.log(numeri.lastIndexOf(3)); // 4
console.log(numeri.lastIndexOf(6)); // -1

10. find()

  • Scopo: Trovare il primo elemento di un array che soddisfa una condizione definita dalla funzione di callback.
  • Restituisce: L'elemento trovato, o undefined se nessun elemento soddisfa la condizione.
  • Utilizzo: Quando vuoi trovare il primo elemento che soddisfa un criterio specifico.

Esempio:

const numeri = [1, 2, 3, 4, 5];

const numeroPari = numeri.find(numero => numero % 2 === 0); // Trova il primo numero pari

console.log(numeroPari); // 2

11. findIndex()

  • Scopo: Trovare l'indice del primo elemento di un array che soddisfa una condizione definita dalla funzione di callback.
  • Restituisce: L'indice dell'elemento trovato, o -1 se nessun elemento soddisfa la condizione.
  • Utilizzo: Quando vuoi trovare l'indice del primo elemento che soddisfa un criterio specifico.

Esempio:

const numeri = [1, 2, 3, 4, 5];

const indiceNumeroPari = numeri.findIndex(numero => numero % 2 === 0); // Trova l'indice del primo numero pari

console.log(indiceNumeroPari); // 1

12. fill()

  • Scopo: Riempire un array con un valore specifico.
  • Restituisce: Lo stesso array, ma con gli elementi riempiti con il valore specificato.
  • Utilizzo: Quando vuoi riempire un array con un valore specifico.

Esempio:

const numeri = [1, 2, 3, 4, 5];

numeri.fill(0, 2, 4); // Riempi gli elementi dall'indice 2 all'indice 3 (escluso) con 0

console.log(numeri); // [1, 2, 0, 0, 5]

13. copyWithin()

  • Scopo: Copiare una parte di un array in un'altra posizione dello stesso array.
  • Restituisce: Lo stesso array, ma con gli elementi copiati.
  • Utilizzo: Quando vuoi copiare una parte di un array in un'altra posizione.

Esempio:

const numeri = [1, 2, 3, 4, 5];

numeri.copyWithin(0, 2, 4); // Copia gli elementi dall'indice 2 all'indice 3 (escluso) all'indice 0

console.log(numeri); // [3, 4, 3, 4, 5]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment