8.1 Metodo forEach()
I metodi di iterazione degli array in JavaScript offrono strumenti potenti per lavorare con gli array, permettendo di eseguire operazioni differenti sugli elementi. In questo argomento esaminiamo i principali metodi di iterazione, compresi forEach(), map(), filter(), reduce(), some(), every(), find(), e findIndex().
Il metodo forEach() esegue la funzione indicata una volta per ciascun elemento dell'array. Questo metodo non restituisce un nuovo array e non può essere interrotto.
Sintassi:
array.forEach(function(element, index, array) {
// corpo della funzione
});
Esempio:
Il metodo forEach() attraversa ciascun elemento dell'array numbers[] e stampa il suo indice e valore.
const numbers = [1, 2, 3, 4, 5];
numbers.forEach((number, index) => {
console.log(`Index: ${index}, Value: ${number}`);
});
// Output:
// Index: 0, Value: 1
// Index: 1, Value: 2
// Index: 2, Value: 3
// Index: 3, Value: 4
// Index: 4, Value: 5
8.2 Metodo map()
Il metodo map() crea un nuovo array con il risultato della funzione indicata chiamata su ciascun elemento dell'array.
Sintassi:
const newArray = array.map(function(element, index, array) {
// corpo della funzione
return nuovo_valore;
});
La funzione di trasformazione può essere scritta anche come una freccia:
const newArray = array.map((element, index, array) => nuovo_valore);
Esempio:
Il metodo map() crea un nuovo array squared[], contenente i quadrati dei numeri dell'array numbers[].
const numbers = [1, 2, 3, 4, 5];
const squared = numbers.map(number => number * number);
console.log(squared); // [1, 4, 9, 16, 25]
8.3 Metodo filter()
Il metodo filter() crea un nuovo array con tutti gli elementi che passano il test implementato dalla funzione fornita.
const newArray = array.filter(function(element, index, array) {
// corpo della funzione
return condizione;
});
La funzione può essere scritta anche come una freccia:
const newArray = array.filter((element, index, array) => condizione);
Esempio:
Il metodo filter() crea un nuovo array evenNumbers[], contenente solo i numeri pari dell'array numbers[].
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter(number => number % 2 === 0);
console.log(evenNumbers); // [2, 4]
8.4 Metodo reduce()
Il metodo reduce() applica una funzione contro un accumulatore e ciascun elemento dell'array (da sinistra a destra) per ridurlo a un singolo valore.
Sintassi:
const result = array.reduce(function(accumulator, current, index, array) {
// corpo della funzione
return nuovo_valore_accumulatore;
}, initialValue);
La funzione accumulatore può essere scritta anche come una freccia:
const result = array.reduce((accumulator, current, index, array) =>
nuovo_valore, initialValue
);
Esempio:
Il metodo reduce() riduce l'array numbers[] a un singolo valore sum, sommando tutti gli elementi dell'array.
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, number) => acc + number, 0);
console.log(sum); // 15
8.5 Metodo some()
Il metodo some() verifica se almeno un elemento dell'array soddisfa la condizione specificata nella funzione fornita. Restituisce true o false.
Sintassi:
const result = array.some(function(element, index, array) {
// corpo della funzione
return condizione;
});
La funzione di controllo può essere scritta anche come una freccia:
const result = array.some((element, index, array) => condizione);
Esempio:
Il metodo some() verifica se c'è almeno un numero pari nell'array numbers[] e restituisce true.
const numbers = [1, 2, 3, 4, 5];
const hasEvenNumber = numbers.some(number => number % 2 === 0);
console.log(hasEvenNumber); // true
8.6 Metodo every()
Il metodo every() verifica se tutti gli elementi dell'array soddisfano la condizione specificata nella funzione fornita. Restituisce true o false.
Sintassi:
const result = array.every(function(element, index, array) {
// corpo della funzione
return condizione;
});
La funzione di controllo può essere scritta anche come una freccia:
const result = array.every((element, index, array) => condizione);
Esempio:
Il metodo every() verifica se tutti gli elementi dell'array numbers[] sono positivi e restituisce true.
const numbers = [1, 2, 3, 4, 5];
const allPositive = numbers.every(number => number > 0);
console.log(allPositive); // true
8.7 Metodo find()
Il metodo find() restituisce il primo elemento dell'array che soddisfa la condizione specificata nella funzione fornita. Se nessun elemento soddisfa la condizione, restituisce undefined.
Sintassi:
const result = array.find(function(element, index, array) {
// corpo della funzione
return condizione;
});
La funzione di controllo può essere scritta anche come una freccia:
const result = array.find((element, index, array) => condizione);
Esempio:
Il metodo find() restituisce il primo numero pari dell'array numbers[].
const numbers = [1, 2, 3, 4, 5];
const firstEven = numbers.find(number => number % 2 === 0);
console.log(firstEven); // 2
8.8 Metodo findIndex()
Il metodo findIndex() restituisce l'indice del primo elemento dell'array che soddisfa la condizione specificata nella funzione fornita. Se nessun elemento soddisfa la condizione, restituisce -1.
Sintassi:
const result = array.findIndex(function(element, index, array) {
// corpo della funzione
return condizione;
});
La funzione di controllo può essere scritta anche come una freccia:
const result = array.findIndex((element, index, array) => condizione);
Esempio:
Il metodo findIndex() restituisce l'indice del primo numero pari nell'array numbers[].
const numbers = [1, 2, 3, 4, 5];
const firstEvenIndex = numbers.findIndex(number => number % 2 === 0);
console.log(firstEvenIndex); // 1
GO TO FULL VERSION