JSON annidato
Fa parte della sezione Logica e flusso del percorso JavaScript di Coddy. Lezione 23 di 65.
Un oggetto JSON può contenere al suo interno un altro oggetto JSON. Può essere annidato all'infinito. Per esempio:
const userData = {
"user": {
"name": "Kim",
"address": {
"city": "Springfield",
"zip": 12345,
"location": {
"coordinates": {
"latitude": 42.1234,
"longitude": -71.5678
}
}
}
}
}Per accedere a una chiave annidata scriveremmo:
userData.user.name
userData.user.address.location
// E così viaSfida
FacileCrea una funzione chiamata calculateRestaurantBill che accetta in input un oggetto JSON che rappresenta un ordine al ristorante. Ogni chiave dell’oggetto è il nome di un piatto e ogni valore è un altro oggetto contenente:
- price (numero)
- quantity (numero)
- isSpecialOffer (booleano)
se è true, su quel piatto viene applicato uno sconto del 20%. La funzione dovrebbe:
- Calcolare il conto totale
- Applicare gli eventuali sconti delle offerte speciali
L’oggetto restituito contiene:
- totalBeforeDiscount
- totalDiscount
- finalTotal
(Tutti i valori sono arrotondati a 2 cifre decimali)
Provalo tu
function calculateRestaurantBill(order) {
// Scrivi il codice qui
return {
totalBeforeDiscount: Number(totalBeforeDiscount.toFixed(2)),
totalDiscount: Number(totalDiscount.toFixed(2)),
finalTotal: Number(finalTotal.toFixed(2))
};
}
// Non scrivere nulla al di fuori della funzioneQuesta lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Le stringhe in dettaglio
Fondamenti delle stringheIterare sulle stringheTemplate literalsMetodi delle stringheRiepilogo - Intrecciatore di stringhe4JSON Parte 2
Iterare su JSONJSON annidatoOptional chaining in JSONCopia superficiale e profondaRipasso - Negozio di bicicletteRipasso - Sistema solare7Sistema di gestione della biblioteca
Panoramica del progettoAggiungere libri10Gestire il sistema del festival
Panoramica del progettoAggiungere film e sale2Array multidimensionali
Nozioni di base sugli array 2DAccesso agli elementi di un array 2DCicli annidati con array 2DRipasso: array 2DAddizione e sottrazione di matriciArray frastagliatiArray 3D e oltreSchemi comuni con array 2DRipasso: tutto sugli array5Insiemi Parte 1
Che cos'è un insieme?Iterare sugli insiemiAggiungere un elementoRimuovere un elementoVerificare se un elemento esisteDimensione e verifica del vuotoCopiare e svuotareRiepilogo - Nozioni di base sugli insiemi8Argomenti interessanti sugli array
Destrutturazione degli arraySintassi spread negli arrayArray sparsiRiepilogo - Laboratorio sugli array3JSON Parte 1
Che cos'è JSON?Verificare se una chiave esisteMetodi degli oggettiL'operatore spread Parte 1L'operatore spread Parte 2Rimuovere le chiaviRipasso - Manipolare le chiavi in JSONEsercitati da solo: Compilatore JavaScript online