Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Programma Javascript che stampi solo le lettere pari

    Salve a tutti, vorrei un piccolo aiutino con un programma javascript.

    Dovrei scriverne uno che stampi solo le lettere in posizione pari di una parola inserita da tastiera. Per esempio se scrivo la parola "ARANCIA" dovrebbe darmi in uscita "RNI"
    Giuro che non ho alcuna idea da dove poter cominciare
    grazie a tutti in anticipo!

  2. #2
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    In PHP come in altri linguaggi ogni stringa in realtà è un array a cui ci si può riferire con gli indici per poter tirare fuori i singoli caratteri, ad esempio se $frutto = 'ARANCIA'; in realtà è possibile estrarre i singoli caratteri così:
    Codice PHP:
    $frutto[0] = 'A';
    $frutto[1] = 'R';
    $frutto[2] = 'A';
    $frutto[3] = 'N';
    $frutto[4] = 'C';
    $frutto[5] = 'I';
    $frutto[6] = 'A'
    Quindi bisogna trovare una routine che data la lunghezza della stringa estragga solo i caratteri con indice pari
    Magari sfruttando l'operatore modulo che in PHP se non ricordo male è il %

    Codice PHP:
    $pari[0] = $frutto[0];
    if (
    strlen($frutto) > 2) {
      for (
    $i 1$i <= strlen($frutto); $i++{
        if ((
    $i 2) == 0$pari[] = $frutto[$i];
      }
    }
    var_dump($pari); 
    In pratica il primo valore 0 è sempre pari, poi se la stringa non è formata da meno di 3 caratteri (sarebbe inutile andare oltre 0 già c'è e 1 non è pari) in $pari c'è un array di caratteri contenenti i valori pari estratti.
    $i % 2 = 0 è l'operazione che verifica se un numero è divisibile per due senza resto, quindi pari

  3. #3
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Originariamente inviato da Marcolino's
    In PHP come in altri linguaggi ogni stringa in realtà è un array a cui ci si può riferire con gli indici per poter tirare fuori i singoli caratteri, ad esempio se $frutto = 'ARANCIA'; in realtà è possibile estrarre i singoli caratteri così:
    Codice PHP:
    $frutto[0] = 'A';
    $frutto[1] = 'R';
    $frutto[2] = 'A';
    $frutto[3] = 'N';
    $frutto[4] = 'C';
    $frutto[5] = 'I';
    $frutto[6] = 'A'
    Quindi bisogna trovare una routine che data la lunghezza della stringa estragga solo i caratteri con indice pari
    Magari sfruttando l'operatore modulo che in PHP se non ricordo male è il %

    Codice PHP:
    $pari[0] = $frutto[0];
    if (
    strlen($frutto) > 2) {
      for (
    $i 1$i <= strlen($frutto); $i++{
        if ((
    $i 2) == 0$pari[] = $frutto[$i];
      }
    }
    var_dump($pari); 
    In pratica il primo valore 0 è sempre pari, poi se la stringa non è formata da meno di 3 caratteri (sarebbe inutile andare oltre 0 già c'è e 1 non è pari) in $pari c'è un array di caratteri contenenti i valori pari estratti.
    $i % 2 = 0 è l'operazione che verifica se un numero è divisibile per due senza resto, quindi pari
    Mi quoto per scusa ho dato per scontato di essere nella sezione PHP del forum... però c'è da dire che il metodo esposto vale anche per il javascript.
    Solo non ne conosco l'operatore modulo!

  4. #4
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Per scusarmi dell'errore...
    In javascript (ho controllato) l'operatore modulo è lo stesso del PHP cioè il segno di percento (%) quindi uno è a posto.
    Le stringhe sono array di caratteri come in PHP quindi due è a posto.
    Rimane solo di convertire lo script da un linguaggio all'altro

    codice:
    pari[0] = frutto[0]; 
    if (frutto.length > 2) { 
      for (i = 1; i <= frutto.length; i++) { 
        if ((i % 2) == 0) pari[] = frutto[i]; 
      } 
    }
    Facile no?


  5. #5
    ti ringrazio infinitamente per l'aiuto ora, l'ultima cosa e poi non disturbo più..

    io devo scrivere il codice all'interno di una pagina HTML..quindi dovrei fare una cosa del genere:

    codice:
    <html>
    <head>
    <title> prova</title>
    <meta http-equiv="Content-Type" content="text/html"; charset=utf-8" />
    
    </head>
    <body>
    
    <script>
    var= new Array(frutto)
    
    frutto[0] = 'A'; 
    frutto[1] = 'R'; 
    frutto[2] = 'A'; 
    frutto[3] = 'N'; 
    frutto[4] = 'C'; 
    frutto[5] = 'I'; 
    frutto[6] = 'A';
    
    pari[0] = frutto[0]; 
    if (frutto.length > 2) { 
      for (i = 1; i <= frutto.length; i++) { 
        if ((i % 2) == 0) pari[] = frutto[i]; 
      } 
    } </script>
    
    </body>
    </html>

    Ma perchè non funziona?

  6. #6
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    codice:
    parola = "arancia";
    letterePari = parola.slice(0,  - (parola.length & 1)).replace(/.(.)/g, "$1");
    
    alert(letterePari);

  7. #7
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Maledette espressioni regolari

    @Micaela non ho avuto il tempo di provarla e va sempre aggiustata ma a questo punto...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.