Il mondo dello sviluppo front-end, nella sua declinazione JavaScript, è intriso di librerie. Ne troviamo per tutte le necessità e funzionalità, anche superflue; spesso ci ritroviamo a chiederci come fare la stessa operazione: quante volte ci siamo domandati "come seleziono solo la proprietà nome da questa lista di oggetti?".
A questo scopo può tornare utile avere un file JavaScript, nel quale definire una serie di metodi che ci possono aiutare nello sviluppo, tale file potrà poi essere condiviso tra i progetti, in modo da creare un'uniformità tra i prodotti rilasciati e garantire un buon grado di manutenibilità.
// definizione const getOnly = (objs, key) => objs.map((obj) => obj[key]); // uso const users = [{ name: "Morgan", lastName: "Pizzini" }, { name: "Mario", lastName: "Rossi" }]; getOnly(users, 'name'); // ['Morgan', 'Mario']
Allo stesso modo possiamo ordinare gli elementi di un array di oggetti sulla base di una proprietà. Seguendo la stessa logica creiamo una funzione in grado di generalizzare l'azione richiesta, in modo da estenderne il più possibile l'utilizzo
// definizione const sort = (arr, key) => arr.sort((a, b) => a[key] > b[key] ? 1 : a[key] < b[key] ? -1 : 0); // uso const users = [{ id: 1, name: "Morgan" }, { id: 0, name: "Mario" }]; sort(users, 'id'); // {id: 0, name: 'Mario'}, // {id: 1, name: 'Morgan'}
Non da ultimo, per quanto riguarda operazioni su array, dobbiamo citare l'inserimento di un oggetto in una determinata posizione. La funzione utilizzerà l'operatore spread (...) e il metodo slice, consentendoci di inserire l'oggetto semplicemente indicandone la posizione.
const insert = (arr, index, item) => [...arr.slice(0, index), item, ...arr.slice(index)]; const numArray = [1, 2, 3, 5]; // [1, 2, 3, 4, 5] insert(numArray, 3, 4);
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Generare un hash con SHA-3 in .NET
Filtering sulle colonne in una QuickGrid di Blazor
Usare le collection expression per inizializzare una lista di oggetti in C#
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Gestire la cancellazione di una richiesta in streaming da Blazor
Creare un'applicazione React e configurare Tailwind CSS
Implementare il throttling in ASP.NET Core
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Eseguire i worklow di GitHub su runner potenziati
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Filtrare i dati di una QuickGrid in Blazor con una drop down list