Advertisement
fcamuso

Javascript Lezione 43

May 20th, 2022
839
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. <html>
  3. <head>
  4.     <title>ARRAY 01</title>
  5.  </head>
  6.  
  7. <body>
  8.  
  9.   <script type="text/javascript">
  10.  
  11.   //un array è un elenco ordinato (nel senso che gli elementi
  12.   //occupano posizioni definite)
  13.  
  14.   //tre sintassi alternative per crearli
  15.  
  16.   //array vuoti
  17.   let vuoto1 = new Array();
  18.   let vuoto2 = Array();
  19.   let vuoto3 = [];
  20.  
  21.   let v1 = Array(100);    //100 elementi pre allocati
  22.   let v2 = Array('100');  //1 elemento stringa
  23.   let v3 = new Array(31,8,2017);
  24.  
  25.   let v4 = [5]; //un elemento === 5, senza sorprese
  26.  
  27.   let arr2 = Array(31, "Agosto", 2017);
  28.   let arr3 = [31, 8, 2017];        //secondo me la più chiara
  29.  
  30.   // stampaArray(arr2);
  31.   // stampaArray(arr3);
  32.  
  33.  
  34.   arr2.push("ciao"); //aggiunge "ciao" in fondo all'array
  35.   writeln(arr2, true); //true=stampa riga di trattini -------------
  36.  
  37.   arr2.pop(); //elimina l'ultimo elemento
  38.   writeln(arr2, true);
  39.  
  40.   arr2[3]="ciao"; //stesso effetto di push (in questa situazione)
  41.   writeln(arr2, true);
  42.  
  43.   arr2[arr2.length] = "hello"; //sempre in fondo
  44.   writeln(arr2, true);  
  45.  
  46.   arr2[20] = "hello"; //sempre in fondo
  47.   writeln(arr2, true);  
  48.  
  49.   arr2.length = 40;
  50.   writeln(arr2, true);
  51.  
  52.   arr2.length = 10;
  53.   writeln(arr2, true);  
  54.  
  55.   let primo = arr2.shift();
  56.   writeln(arr2, true);
  57.   writeln(primo);
  58.  
  59.   let eliminati = arr2.splice(1,3);
  60.   //arr2.splice(1); elimina tutti gli elementi a partire dalla posizione 1
  61.   writeln(arr2, true);
  62.   writeln(eliminati);  
  63.  
  64.   //elimimina il secondo elemento ed aggiungine altri
  65.   //a partire dalla posizione del primo eliminato
  66.   eliminati.splice(1,1,"aggiunto1", "aggiunto2");
  67.   writeln(eliminati);
  68.  
  69.    //elimina aggiunto2
  70.    let posTrovato =  eliminati.indexOf("aggiunto2");
  71.    if ( posTrovato>-1 )
  72.    { eliminati.splice(posTrovato, 1);}
  73.    else
  74.    {writeln("elemento non trovato");}
  75.    writeln(eliminati);
  76.  
  77.    //casuali è un array di 30 numeri inter casuali
  78.    let casuali = [];
  79.    for(let i=0; i<30; i++)
  80.    { casuali.push( Math.floor( Math.random()*100) ) ;}
  81.  
  82.    //calcola il resto della divisione per 7 dei numeri casuali
  83.    //e crea con questi un nuovo array
  84.    let resti = casuali.map( (elemento,indice, a) => elemento%7 );
  85.    writeln(casuali);
  86.    writeln(resti);
  87.  
  88.    resti.fill(0,0,10);
  89.    writeln(resti);
  90.  
  91.    let diversiDaZero = resti.filter( elemento => elemento!==0 );
  92.    writeln(diversiDaZero);
  93.  
  94.    if ( diversiDaZero.some( elemento => elemento>4 ) )
  95.    {writeln("Trovato almento un resto maggiore di zero");}
  96.    
  97.    let quanti = diversiDaZero.reduce( (conta, elemento) => elemento>4 ? conta + 1 : conta);
  98.    let totale = diversiDaZero.reduce( (somma, elemento) => somma+elemento);
  99.    
  100.    writeln(quanti);
  101.    writeln(totale);
  102.    arr3 = arr2.concat(resti);
  103.  
  104.    if ( diversiDaZero.every( elemento => elemento>4 ) )
  105.    {writeln("tutti maggiori di 4");}
  106.  
  107.    let stringa = arr3.join();
  108.    writeln(stringa);
  109.    writeln(arr3.reverse());
  110.    arr3.unshift(10);
  111.    writeln(arr3.sort());
  112.  
  113.   //  alert(arr3.indexOf('Agosto')!=-1 );
  114.   //  alert(arr3.includes('Agosto'));
  115.  
  116.   arr3 = [10, 30, ["Alluminio", 3400, ["Valori soglia", 1200, 4500]]];
  117.   console.log(arr3.flat(2));
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.     // arr3 = ["fcamuso", "javascript", "c++"];
  130.     // console.log(arr3.map((elemento) => [elemento, elemento.length]));
  131.     // console.log(arr3.flatMap((elemento) => [elemento, elemento.length]));
  132.    
  133.  
  134.    
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.    
  142.  
  143.  
  144.  
  145.  
  146.   function writeln(messaggio, cornicetta=false)
  147.   {
  148.      document.write(messaggio+"<br>");
  149.      if (cornicetta)
  150.        writeln("-".repeat(40));
  151.   }
  152.  
  153.   function stampaArray(arr)
  154.   {
  155.     //un parametro, la soluzione migliore per quello che dobbiamo fare
  156.     arr.forEach( function(elemento)  { writeln( elemento ); } );
  157.  
  158.     //due parametri; +indice
  159.     //arr.forEach( function(elemento, indice)  { writeln( indice + ":" + arr[indice] ); } );
  160.    
  161.     //tre parametri; +indice +array stesso
  162.     //arr.forEach( function(elemento, indice, a)  { writeln( indice + ":" + a[indice] ); } );
  163.   }
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  </script>
  171.  
  172. </body>
  173. </html>
  174.  
Advertisement
RAW Paste Data Copied
Advertisement