Nello script #377 abbiamo analizzato alcune microfunzioni che possono tornarci utili quando dobbiamo interagire con liste di oggetti o valori.
I metodi sono stati scritti in modo da poter essere il più generici possibile e condivisibili tra progetti. Nello script di oggi vediamo altri tre metodi che ci possono aiutare quando abbiamo a che fare con gli oggetti o array.
Per la formattazione di un testo abbiamo vari metodi in JavaScript: toLowerCase o toUpperCase per rendere la stringa maiuscola o minuscola, oppure trim per rimuovere gli spazi bianchi in eccesso. Tuttavia non abbiamo nulla di precostruito per rendere maiuscola solo la prima lettera. Per raggiungere questo risultato possiamo utilizzare la seguente funzione.
const capitalize = (str) => `${str.charAt(0).toUpperCase()}${str.slice(1)}`; const s = "mi chiamo Morgan"; capitalize(s) // "Mi chiamo Morgan";
Il metodo prende il primo carattere della stringa, effettua l'uppercase e concatena la parte restante tramite la string interpolation.
Un'altra funzione, per la quale abbiamo avuto un'anticipazione quando abbiamo parlato della differenza tra Set ed Array, è la rimozione dei duplicati.
const removeDuplicates = (arr) => [...new Set(arr)]; const a = ["Morgan","Daniele","Morgan"]; removeDuplicates(a) // ["Morgan","Daniele"];
Il trucco sta nell'inserire l'array all'interno di un Set, in modo da rimuovere ogni duplicato, e riportare poi il Set all'interno di un array tramite la spread syntax [...].
Ma se volessimo, invece che rimuovere, contare le volte in cui appare una stringa, possiamo utilizzare la funzione reduce al cui interno effettuiamo un conteggio.
const countOccurrences = (arr, value) => arr.reduce((a, v) => (v === value ? a + 1 : a), 0); const a = ["Morgan","Daniele","Morgan"]; countOccurrences(a,"Morgan") // 2
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestire i dati con Azure Cosmos DB Data Explorer
Creare una libreria CSS universale: Cards
Utilizzare una qualunque lista per i parametri di tipo params in C#
Selettore CSS :has() e i suoi casi d'uso avanzati
Gestione file Javascript in Blazor con .NET 9
Estrarre dati randomici da una lista di oggetti in C#
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Gestire la cancellazione di una richiesta in streaming da Blazor
Potenziare la ricerca su Cosmos DB con Full Text Search
Creare una libreria CSS universale: Nav menu
Creare agenti facilmente con Azure AI Agent Service
Eseguire script pre e post esecuzione di un workflow di GitHub