rinomina esercizi js
This commit is contained in:
15
javascript/07_Oggetti/extra/carrello_ecommerce.js
Normal file
15
javascript/07_Oggetti/extra/carrello_ecommerce.js
Normal file
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* Esercizio Extra: Carrello E-Commerce (Array di Oggetti)
|
||||
*
|
||||
* Obiettivo: Lavorare con una lista (Array) dove ogni elemento è un prodotto (Oggetto).
|
||||
*
|
||||
* 1. Crea un array chiamato 'carrello'.
|
||||
* 2. Inserisci dentro l'array due oggetti prodotto manualmente.
|
||||
* Ogni oggetto deve avere: 'nome' (stringa) e 'prezzo' (numero).
|
||||
* Es: { nome: "Mouse", prezzo: 20 }, { nome: "Tastiera", prezzo: 50 }
|
||||
* 3. Aggiungi un terzo prodotto all'array usando il metodo .push().
|
||||
* Il prodotto è: { nome: "Monitor", prezzo: 100 }
|
||||
* 4. Calcolo Totale: Crea una variabile 'totale' e calcola la somma dei prezzi dei tre prodotti.
|
||||
* Usa un ciclo for per iterare sull'array 'carrello'.
|
||||
* 5. Stampa: "Il totale del carrello è: [totale]"
|
||||
*/
|
||||
22
javascript/07_Oggetti/extra/dashboard_complessa.js
Normal file
22
javascript/07_Oggetti/extra/dashboard_complessa.js
Normal file
@@ -0,0 +1,22 @@
|
||||
/**
|
||||
* Esercizio Extra: Dashboard Utente Complessa (Oggetti Annidati)
|
||||
*
|
||||
* Obiettivo: Accedere e modificare dati dentro oggetti che sono dentro altri oggetti.
|
||||
*
|
||||
* Struttura Dati:
|
||||
* Hai un oggetto 'dashboard' che contiene le impostazioni di un utente.
|
||||
*
|
||||
* 1. Crea l'oggetto seguendo questa struttura:
|
||||
* dashboard = {
|
||||
* utente: "Admin",
|
||||
* preferenze: {
|
||||
* tema: "Scuro",
|
||||
* notifiche: { email: true, sms: false }
|
||||
* }
|
||||
* }
|
||||
* 2. Senza toccare la dichiarazione iniziale, modifica il valore di 'sms' in true.
|
||||
* (Suggerimento: usa più punti, es. oggetto.livello1.livello2...)
|
||||
* 3. Stampa in console solo il valore del 'tema'.
|
||||
* 4. Aggiungi una nuova proprietà 'push' dentro l'oggetto 'notifiche' e impostala a true.
|
||||
* 5. Stampa l'intero oggetto dashboard finale.
|
||||
*/
|
||||
24
javascript/07_Oggetti/extra/debug_destructuring.js
Normal file
24
javascript/07_Oggetti/extra/debug_destructuring.js
Normal file
@@ -0,0 +1,24 @@
|
||||
/**
|
||||
* Esercizio Extra: Debugging Destrutturazione
|
||||
*
|
||||
* La "Destrutturazione" è un modo veloce per estrarre proprietà in variabili:
|
||||
* const { nome } = persona; (Crea una variabile 'nome' col valore di persona.nome).
|
||||
*
|
||||
* Il codice sotto cerca di estrarre la città dell'utente, ma stampa 'undefined'.
|
||||
*
|
||||
* 1. Analizza la struttura dell'oggetto 'user'.
|
||||
* 2. Correggi la riga della destrutturazione.
|
||||
*/
|
||||
|
||||
const user = {
|
||||
id: 1,
|
||||
profilo: {
|
||||
username: "anna92",
|
||||
citta: "Roma"
|
||||
}
|
||||
};
|
||||
|
||||
// CODICE BUGGATO
|
||||
const { citta } = user;
|
||||
|
||||
console.log("L'utente vive a:", citta);
|
||||
84
javascript/07_Oggetti/extra/debug_pizza.js
Normal file
84
javascript/07_Oggetti/extra/debug_pizza.js
Normal file
@@ -0,0 +1,84 @@
|
||||
/**
|
||||
* Esercizio Extra: Debugging Accesso Proprietà Oggetti
|
||||
*
|
||||
* Un cliente entra nella pizzeria e ordina alcune cose:
|
||||
* - Una margherita
|
||||
* - Un calzone ricotta e spinaci
|
||||
* - Una birra
|
||||
*
|
||||
* Nel seguente codice sono presenti alcuni errori che impediscono
|
||||
* il corretto calcolo del totale dell'ordine.
|
||||
*
|
||||
* 1. Analizza il codice e individua gli errori (dalla riga 73 in poi).
|
||||
* 2. Correggi il codice in modo che stampi correttamente il totale dell'ordine.
|
||||
* 3. Il totale corretto dell'ordine dovrebbe essere: 6 + 8 + 4 = 18
|
||||
*
|
||||
* Nota: il menù è un pò lungo e può dar fastidio ma si può
|
||||
* minimizzare cliccando a sinistra del LET (appare una freccetta).
|
||||
*
|
||||
* [4 righe di codice da correggere, 6 errori in totale]
|
||||
*/
|
||||
|
||||
let menu = [
|
||||
{
|
||||
tipo: "pizza",
|
||||
nome: "margherita",
|
||||
prezzo: 6
|
||||
},
|
||||
{
|
||||
tipo: "pizza",
|
||||
nome: "diavola",
|
||||
prezzo: 8
|
||||
},
|
||||
{
|
||||
tipo: "pizza",
|
||||
nome: "quattro_stagioni",
|
||||
prezzo: 9
|
||||
},
|
||||
{
|
||||
tipo: "pizza",
|
||||
nome: "vegetariana",
|
||||
prezzo: 7
|
||||
},
|
||||
{
|
||||
tipo: "calzone",
|
||||
nome: "classico",
|
||||
prezzo: 7
|
||||
},
|
||||
{
|
||||
tipo: "calzone",
|
||||
nome: "ricotta_e_spinaci",
|
||||
prezzo: 8
|
||||
},
|
||||
{
|
||||
tipo: "bevanda",
|
||||
nome: "acqua",
|
||||
prezzo: 2
|
||||
},
|
||||
{
|
||||
tipo: "bevanda",
|
||||
nome: "cola",
|
||||
prezzo: 3
|
||||
},
|
||||
{
|
||||
tipo: "bevanda",
|
||||
nome: "birra",
|
||||
prezzo: 4
|
||||
}
|
||||
];
|
||||
|
||||
let ordine = ["margherita", "ricotta_e_spinaci", "birra"];
|
||||
let totaleOrdine = 0;
|
||||
|
||||
// CODICE BUGGATO
|
||||
for (let i = 1; i < menu.length; i++) {
|
||||
let oggetto = menu[i];
|
||||
|
||||
if (!ordine.includes(oggetto.tipo)) {
|
||||
console.log(oggetto.tipo + ": €" + oggetto.prezzo);
|
||||
totaleOrdine += oggetto.nome;
|
||||
}
|
||||
}
|
||||
|
||||
console.log("Totale: €" + totaleOrdine);
|
||||
|
||||
Reference in New Issue
Block a user