ECMAScript 5 introduce nove nuovi metodi per la ricerca e la modifica del contenuto di un array.
Tutti questi metodi consentono di effettuare operazione su un elenco senza dover effettuare esplicitamente un ciclo sugli elementi in esso contenuti.
Il metodo indexOf permette di ricercare la posizione (indice) di un elemento all'interno dell'array, specificando eventualmente l'indice da cui far partire la ricerca. Il metodo lastIndexOf è del tutto analogo ma effettua la ricerca a partire dall'ultimo elemento anziché dal primo.
// indexOf e lastIndexOf
var list = ["a", "b", "c", "a", "b"];
var indexOfResult = list.indexOf("a"); // 0
var lastIndexOfResult = list.lastIndexOf("a"); // 3
Il metodo every permette di determinare se tutti gli elementi dell'array rispettano (true) o meno (false) una determinata condizione, espressa mediante una funzione di callback. Il metodo some è del tutto analogo ma restituisce true se almeno un elemento corrisponde al criterio di ricerca specificato.
// every & some
var isA = function (value) { return value.toLowerCase() == "a"; }
var list = ["a", "b", "c", "a", "b"];
var result;
result = list.every(isA); // false
result= list.some(isA); // true
Il metodo forEach permette di invocare una funzione di callback su ogni elemento dell'array. Il metodo in sè non modifica direttamente il contenuto dell'array ma la funzione richiamata può farlo, come nell'esempio che segue:
// forEach
var toUpper = function (value, index, array) { array[index] = value.toUpperCase(); }
var list = ["a", "b", "c", "d", "e"];
list.forEach(toUpper); // list diventa: ["A","B","C","D","E"]
Il metodo map trasforma gli elementi di un array mediante l'esecuzione di una funzione di callback e copia il risultato della trasformazione in un nuovo array.
// map
var toUpper = function (value) { return value.toUpperCase(); }
var list = ["a", "b", "c", "d", "e"];
var result = list.map(toUpper); // ["A","B","C","D","E"]
Il metodo filter crea un nuovo array contenente gli elementi selezionati in base all'esito (true) dell'esecuzione di una funzione di callback.
// filter
var containsA = function (value) { return value.indexOf("a") > -1; }
var list = ["matteo", "mario", "luigi", "andrea", "ciro"];
var result = list.filter(containsA); // ["matteo","mario","andrea"]
Il metodo reduce permette di concatenare gli elementi di un array, ottenendo da questi un unico risultato. Il metodo reduceRight è del tutto analogo ma effettua l'operazione a partire dall'ultimo elemento anziché dal primo.
per ottenere la somma di questi numeri.
// reduce & reduceRight
var concat = function (previousValue, value) { return previousValue + "-" + value; }
var list = ["a", "b", "c", "d", "e"];
var result;
result = list.reduce(concat); // "a-b-c-d-e"
result = list.reduceRight(concat); // "e-d-c-b-a"
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Definire il colore di una scrollbar HTML tramite CSS
Controllare la velocità di spostamento su una pagina HTML
Integrare Agenti A2A in Azure API Management
Impostare automaticamente l'altezza del font tramite CSS
Migrare applicazioni legacy nel cloud con Azure App Service Managed Instance
DevSecOps per .NET: dalla teoria alla pratica
Rendere affidabile lo scale out su Azure App Service
Gestire gli errori nelle Promise JavaScript con try()
Gestire progetti NPM in .NET Aspire
Raggruppamento degli aggiornamenti di dipendenze tra directory in un monorepo con Dependabot
Utilizzare Containers in .NET Aspire
Recuperare le subissue e il loro stato di completamento in GitHub
I più letti di oggi
- Community Days 2010: applicazioni con Windows Phone 7
- Le novità di ASP.NET 4.5
- Windows Phone 7.5 Developer Day: costruire app con Visual Studio 2010 e Windows Phone Runtime
- Real Code Day 4: La piattaforma Microsoft per lo sviluppo
- ModelVC in the cloud con Windows Azure
- Progressive Web Apps with Blazor
- Webcast 'IIS 7.0 Preview'




