Introduzione
In questo tutorial, esploreremo come utilizzare gli oggetti globali Math, Date e JSON in JavaScript per creare un semplice generatore di report statistici. Questo strumento sarà in grado di calcolare statistiche base come media, mediana e deviazione standard, oltre a formattare la data del report e a gestire i dati in formato JSON. Impareremo a combinare questi oggetti per realizzare un´applicazione pratica e utile.
Codice completo
function generaReport(dati) {
// Controllo se i dati sono validi
if (!Array.isArray(dati) || dati.length === 0) {
return JSON.stringify({ errore: "Dati non validi" });
}
// Calcolo della media
const somma = dati.reduce((acc, val) => acc + val, 0);
const media = somma / dati.length;
// Calcolo della mediana
const datiOrdinati = [...dati].sort((a, b) => a - b);
const mediana = (datiOrdinati.length % 2 === 0)
? (datiOrdinati[datiOrdinati.length / 2 - 1] + datiOrdinati[datiOrdinati.length / 2]) / 2
: datiOrdinati[Math.floor(datiOrdinati.length / 2)];
// Calcolo della deviazione standard
const varianza = dati.reduce((acc, val) => acc + Math.pow(val - media, 2), 0) / dati.length;
const deviazioneStandard = Math.sqrt(varianza);
// Creazione dell´oggetto report
const report = {
data: new Date().toLocaleDateString(),
ora: new Date().toLocaleTimeString(),
media: media,
mediana: mediana,
deviazioneStandard: deviazioneStandard
};
// Restituzione del report in formato JSON
return JSON.stringify(report, null, 2);
}
// Esempio di utilizzo
const datiEsempio = [10, 20, 30, 40, 50];
const reportGenerato = generaReport(datiEsempio);
console.log(reportGenerato);
Spiegazione
Il codice sopra definisce una funzione generaReport che accetta un array di dati numerici. Ecco una panoramica dei passaggi chiave:
- Controllo dei dati: Verifichiamo se i dati forniti sono un array e se non è vuoto. In caso contrario, restituiamo un messaggio di errore in formato JSON.
- Calcolo della media: Utilizziamo il metodo
reduceper sommare tutti i valori e dividere per la lunghezza dell´array per ottenere la media. - Calcolo della mediana: Ordiniamo i dati e calcoliamo la mediana in base alla lunghezza dell´array, gestendo sia i casi con un numero pari che dispari di elementi.
- Calcolo della deviazione standard: Utilizziamo la formula standard per calcolare la varianza e, successivamente, la deviazione standard.
- Creazione del report: Creiamo un oggetto che include la data e l´ora attuali, insieme ai risultati delle statistiche calcolate.
- Restituzione del report: Convertiamo l´oggetto report in formato JSON e lo restituiamo.
Best practice
Quando si lavora con oggetti globali come Math, Date e JSON, è importante seguire alcune best practice:
- Validazione dei dati: Assicurati sempre di validare i dati in ingresso per evitare errori e comportamenti imprevisti.
- Utilizzo di metodi di array: Sfrutta i metodi come
map,reduceefilterper operazioni su array, poiché sono più leggibili e concisi. - Formattazione delle date: Utilizza metodi di Date per formattare le date in modo coerente e leggibile.
- Gestione degli errori: Implementa una gestione degli errori adeguata per garantire che il tuo codice non si interrompa in caso di input non valido.
Riepilogo
In questo tutorial, abbiamo visto come utilizzare gli oggetti globali Math, Date e JSON per creare un generatore di report statistici. Abbiamo calcolato media, mediana e deviazione standard, formattato la data e restituito i risultati in formato JSON. Questi concetti possono essere applicati in vari contesti per analizzare e gestire dati in modo efficace.
