Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Array

  1. #1

    Array

    Ho iniziato a guardarmi gli array, ho provato a fare qualche esercizio ma non mi sono molto chiari anche se devo ammettere sembrano semplici. Ne posto solo uno in modo tale da avere un punto di riferimento per poi provare a fare gli altri da solo :

    in questo caso devo definire una funzione che ha come parametro un array e restituisce una stringa formata dagli elementi dell'array di indice dispari, separati dalla solita virgola.

    Pensavo ad una cosa del genere :

    codice:
    function dispari(n) {
             var numeri = ''; //creo la stringa vuota che devo restituire 
             var n = new Array(); //dico che n e' un array 
             for ( var i = 0; i<n.length; i++) { // contatore impostato sul primo elemento di indice 0 e che scansiona tutta la stringa 
             if (i%2 != 0) se il resto della divisione di i e' diverso da 0 
             numeri = numeri + n[i]; aggiungo alla stringa l'elemento presente in posizione i 		 
             }
             return numeri;
    }
    Ovviamente non funziona

  2. #2

    Re: Array

    Originariamente inviato da ezechiele2
    in questo caso devo definire una funzione che ha come parametro un array e restituisce una stringa formata dagli elementi dell'array di indice dispari, separati dalla solita virgola.
    Io penso ad una cosa del genere :

    codice:
    function dispari(n) {
             var numeri = ''; //creo la stringa vuota che devo restituire 
             //var n = new Array(); n e' già un array! (vedi definizione) 
             for ( var i = 0; i<n.length; i++) { // contatore impostato sul primo elemento di indice 0 e che scansiona tutta la stringa 
             if (i%2 != 0) se il resto della divisione di i e' diverso da 0 
             numeri = numeri + n[i] ; aggiungo alla stringa l'elemento presente in posizione i 
             if (i < n.length - 1) numeri = numeri + ',';// e la virgola di separazione? dimenticata?		 
             }
             return numeri;
    }
    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    visto che l'ho fatto, lo riporto
    codice:
    function Button1_onclick() 
    {
        var vettore = ['Stefano','Carlo','Nicola','Pietro','Lucia'];
        
        var d = dispari(vettore);
        alert(d);
    }
    
    function dispari(vettore)
    {
        var s = "";
        for(var i = 1; i < vettore.length; i += 2)
        {
            if(s == "")
                s = vettore[i];
            else
                s += ", " + vettore[i];
        }
        return s;
    }
    Pietro

  4. #4
    Ok , ora c'è un piccolo problema
    Sono andato a creare un modulo per provare la funzione, ma il massimo che ottengo e' undefinited,undefinited, .

    Quindi ho pensato : mi servono 2 funzioni, una per aggiungere gli elementi all array, ed una per stampare quelli di indice dispari.

    Quindi ho creato una variabile globale :

    var arrai = new Array (); //variabile globale destinata a ricevere gli array


    codice:
    function aggiungi(n) {
             arrai[arrai.length] = n;
                                                    }

    codice:
    function dispari(arrai) {
             var numeri = '';                    //creo la stringa vuota che devo restituire 
             for ( var i = 0; i<arrai.length; i++) { // contatore impostato sul primo elemento di indice 0 e che scansiona tutta la stringa 
             if (i%2 != 0)                       // se il resto della divisione di i e' diverso da 0 
             numeri = numeri + arrai[i] + ',';       // aggiungo alla stringa l'elemento presente in posizione i
             }
             return numeri;
    }


    Poi 2 bottoni, uno per aggiungere elementi :

    <input type="button" value="Aggiungi elemento" onclick="
    arrai[arrai.length] = aggiungi(arr.a.value);
    arr.a.value=' ';
    "
    />


    Ed uno per stampare il risultato :

    <input type="button" value="Calcola" onclick="
    arr.ris.value=dispari(arrai);
    "
    />




    Pero’ anche in questo caso il risultato e’ undefined,undefined, ( avendo inserito come valori di n 3 4 5 6)

    p.s : pietro nel modo che mi hai indicato te definisco io la lunghezza e gli elementi degli array, a me servirebbe inserire mano a mano gli elementi da input per poi stampare quelli dispari

  5. #5
    tu scrivi, tra l'altro:
    codice:
    Poi 2 bottoni, uno per aggiungere elementi :
    
    <input type="button" value="Aggiungi elemento" onclick="
    arrai[arrai.length] = aggiungi(arr.a.value);
    arr.a.value=' ';
    "
    />
    
    Ed uno per stampare il risultato :
    
    <input type="button" value="Calcola" onclick="
    arr.ris.value=dispari(arrai);
    "
    />
    c'è molto di sbagliato ...
    Primo: la funzione aggiungi(a) aggiunge all'array un elemento e nell'elemento aggiunto ci 'ficca' il valore contenuto nel parametro a.
    Bene
    ma se scrivi arrai[arrai.length] = aggiungi(arr.a.value); fai un attimo di confusione ...
    Un passo indietro ...
    La form, come si chiama? (che id ha?) .. suppongo che abbia arr
    Il campo di input nel quale scrivi i valori, che name ha? .. suppongo abbia a
    Fermo restando che per 'leggere' il valore (value) di un campo input text di una form la sintassi è:
    variabile = document.getElementById('id_della_form').nome_del_ campo.value;
    allora, nel tuo caso (la form ha id="arr" e il campo ha name="a"):
    codice:
    <input type="button" value="Aggiungi elemento" onclick="aggiungi(document.getElementById('arr').a.value);document.getElementById('arr').a.value=' ';" />
    ... e così via
    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

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 © 2024 vBulletin Solutions, Inc. All rights reserved.