Advertisement
fcamuso

Javascript Lezione 67

Aug 12th, 2022
1,217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!DOCTYPE html>
  2. <head>
  3.   <meta charset="UTF-8">
  4.   <title>MAP SET spread</title>
  5. </head>
  6. <body>
  7.   <script>
  8.     // let capitali = new Map();
  9.     // capitali.set("Italia", "Roma");
  10.     // capitali.set("Francia", "Parigi");
  11.  
  12.     let capitali = new Map([
  13.       ["Italia", "Roma"],
  14.       ["Francia", "Parigi"],
  15.       ["Inghilterra", "Londra"]
  16.     ]);
  17.    
  18.     //commento promp per non essere costretto tutte le volte ad inserire
  19.     nazione_richiesta = prompt("Quale nazione?");
  20.    
  21.    
  22.     // if ( capitali.has(nazione_richiesta) )
  23.     // { writeln(`La capitale è ${capitali.get(nazione_richiesta)}`);}
  24.     // else
  25.     // { writeln("Nazione non trovata");}
  26.    
  27.     if ( capitali.has(nazione_richiesta) )
  28.     {
  29.       capitali.delete(nazione_richiesta);
  30.       writeln(`${nazione_richiesta} eliminata ...`);}
  31.     else
  32.     { writeln("Nazione non trovata");}
  33.  
  34.     writeln( capitali.has(nazione_richiesta) );
  35.    
  36.     let listino = new Map();
  37.     let prodotto = {
  38.       codice: 100,
  39.       descrizione: {breve: "bla bla", lunga:"bla bla bla bla"}
  40.     }
  41.  
  42.     let prezzo = {
  43.       costo_base: 145,
  44.       sconto: 5,
  45.       metodi_pagamento: {cash: true, carta: true, paypal: false}
  46.     }
  47.  
  48.     listino.set( prodotto, prezzo);
  49.  
  50.     if ( listino.has(prodotto) )
  51.     {
  52.        valore = listino.get(prodotto);
  53.        writeln(valore.costo_base);
  54.        if (valore.metodi_pagamento.carta)
  55.        {writeln("Pagabile con carta di credito")}
  56.     }
  57.    
  58.     const chiave1 = [1, "fcamuso"];
  59.     const chiave2 = [1, "fcamuso"];
  60.  
  61.     listino.set(chiave1, "inserito con chiave1");
  62.     if (listino.has(chiave1)) {console.log("trovata chiave1");}
  63.     if (listino.has(chiave2)) {console.log("trovata chiave2");}
  64.     if (listino.has([1, "fcamuso"])) {console.log("trovata chiave2");}
  65.  
  66.  
  67.  
  68.  
  69.     writeln(`Ci sono ${capitali.size} nazioni in archivio`);
  70.     //capitali.clear();
  71.     writeln(`Ci sono ${capitali.size} nazioni in archivio`);
  72.  
  73.     //iterare sugli elementi
  74.     for (let elemento of capitali)
  75.     { writeln(elemento); } //come coppie nazione, capitale
  76.  
  77.     for (let elemento of capitali)
  78.     { writeln(`Nazione: ${elemento[0]} - Capitale: ${elemento[1]}`); } //come singole stringhe
  79.  
  80.        
  81.  
  82.     //iterare sulle chiavi
  83.     for (let chiave of capitali.keys())
  84.     { writeln(chiave); }
  85.  
  86.     //iterare sugli elementi
  87.     for (let [chiave, valore]  of listino) //listino.entries())
  88.     { writeln(chiave); }
  89.  
  90.     const utenteObj = {
  91.       id: 9101,
  92.       email: 'user@city.com',
  93.       info: {
  94.           nome: 'Sandro',
  95.           indirizzo: {
  96.               via: 'Pesaro',
  97.               civico: 71,
  98.               citta: 'Ancona',
  99.               state: 'IT'
  100.           }
  101.       }
  102.     }
  103.    
  104.     const utenteMap = new Map(Object.entries(utenteObj));
  105.     console.log(utenteMap.get('info').indirizzo.via);
  106.  
  107.     let nazioni = new Set(["Italia", "Francia", "Inghilterra"]);
  108.     nazioni.add("Ungheria");
  109.  
  110.     nazioni.add("Francia");
  111.  
  112.     for (let nazione of nazioni)
  113.     {writeln(nazione);}
  114.  
  115.     //anche i set hanno .size, .has() e .clear()
  116.  
  117.  
  118.   function writeln(messaggio, cornicetta=false)
  119.   {
  120.      document.write(messaggio+"<br>");
  121.      if (cornicetta)
  122.        writeln("-".repeat(40));
  123.   }
  124.  
  125.  </script>
  126. </body>
  127. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement