Utilizzo di Funzioni di Ordine Superiore per Creare Pipeline di Elaborazione Dati

by Anastasia P.
SHARE
Utilizzo di Funzioni di Ordine Superiore per Creare Pipeline di Elaborazione Dati
© Guida-HTML5.it

Introduzione

Le funzioni di ordine superiore in JavaScript, come map, filter e reduce, sono strumenti potenti per la manipolazione dei dati. In questo tutorial, esploreremo come combinare queste funzioni per creare pipeline di elaborazione dati. Impareremo a costruire un flusso di lavoro che ci permetta di trasformare, filtrare e aggregare i dati in modo efficiente e leggibile.

Codice completo


const dati = [
    { nome: ´Mario´, età: 25, stipendio: 3000 },
    { nome: ´Luigi´, età: 30, stipendio: 4000 },
    { nome: ´Peach´, età: 28, stipendio: 3500 },
    { nome: ´Bowser´, età: 35, stipendio: 5000 },
];

// Pipeline di elaborazione
const pipelineElaborazione = (dati) => {
    return dati
        .filter(persona => persona.età > 26) // Filtra le persone con età superiore a 26
        .map(persona => ({ nome: persona.nome, stipendio: persona.stipendio * 1.1 })) // Aumenta lo stipendio del 10%
        .reduce((acc, persona) => acc + persona.stipendio, 0); // Somma gli stipendi
};

const stipendioTotale = pipelineElaborazione(dati);
console.log(`Stipendio totale delle persone con età superiore a 26: €${stipendioTotale.toFixed(2)}`);

Spiegazione

Nel codice sopra, abbiamo un array di oggetti che rappresentano persone, ciascuna con un nome, un´età e uno stipendio. La funzione pipelineElaborazione utilizza una combinazione di filter, map e reduce per elaborare questi dati in tre passaggi distinti:

  • Filtraggio: Utilizziamo filter per ottenere solo le persone con un´età superiore a 26 anni. Questo ci permette di concentrarci solo sui dati rilevanti.
  • Trasformazione: Con map, creiamo un nuovo array in cui aumentiamo lo stipendio di ogni persona del 10%. Qui stiamo anche estraendo solo il nome e lo stipendio, riducendo il numero di proprietà che ci interessano.
  • Aggregazione: Infine, utilizziamo reduce per sommare gli stipendi delle persone filtrate e trasformate. Iniziamo con un accumulatore acc impostato a 0 e sommiamo ogni stipendio al valore accumulato.

Il risultato finale è il totale degli stipendi delle persone che soddisfano i criteri di età, stampato in console.

Best practice

Quando si utilizzano funzioni di ordine superiore per creare pipeline di elaborazione dati, è importante seguire alcune best practice:

  • Chiarezza del codice: Utilizza nomi di funzioni e variabili descrittivi per rendere il codice facilmente comprensibile. Ad esempio, pipelineElaborazione chiarisce immediatamente il suo scopo.
  • Composizione: Mantieni le funzioni piccole e focalizzate su un singolo compito. Questo rende più facile il testing e la manutenzione.
  • Immutabilità: Cerca di non modificare gli array originali. Utilizza sempre metodi che restituiscono nuovi array, come map e filter, per evitare effetti collaterali indesiderati.
  • Gestione degli errori: Considera l´uso di controlli per gestire dati imprevisti o non validi. Ad esempio, verifica che i valori siano numerici prima di eseguire operazioni matematiche.

Riepilogo

In questo tutorial, abbiamo esplorato come utilizzare le funzioni di ordine superiore map, filter e reduce per creare pipeline di elaborazione dati in JavaScript. Abbiamo visto come filtrare, trasformare e aggregare i dati in modo chiaro e conciso. Seguendo le best practice, possiamo scrivere codice più leggibile e manutenibile.

Approfondisci con risorse ufficiali

Per ulteriori informazioni sulle funzioni di ordine superiore in JavaScript, ti consiglio di consultare la documentazione ufficiale:

Buona programmazione!

SHARE