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
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Applicare un filtro per recuperare alcune issue di GitHub
Recuperare l'ultima versione di una release di GitHub
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Testare il failover sulle region in Azure Storage
Evitare memory leaks nelle closure JavaScript
Utilizzare una qualunque lista per i parametri di tipo params in C#
Gestire progetti NPM in .NET Aspire
Simulare Azure Cosmos DB in locale con Docker
La gestione della riconnessione al server di Blazor in .NET 9
Ottimizzare le performance usando Span<T> e il metodo Split
I più letti di oggi
- PWAConf 2020 - Online
- Gestione ciclo di vita in .NET Aspire
- Inserire, modificare o cancellare record con ADO.NET
- Redirect automatico da HTTP a HTTPs
- #SQLServer #Modeling (codename Oslo) CTP di nov 2009 aggiornato per VS 2010 RC: http://u.aspitalia.com/fi
- Supporto migliorato agli statement condizionali nelle pipeline di Azure DevOps
- Semplificare il deploy di applicazioni Silverlight con la compilazione condizionale
- Gestire l'errore di caricamento dell'immagine in Silverlight 2.0
- Rimandare l'elaborazione di un messaggio di una coda Service Bus in Windows Azure
- Abilitare la compressione GZip nei website di Windows Azure