Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [flmx] verifica all'interno di un array

    Ciao a tutti!
    ho un array bidimensionale contenente 5 elementi numerici e devo verificare che questi siano in scala: ad esempio [1]["a"],[2]["a"],[3]["a"],[4]["a"],[5]["a"]
    Come faccio appunto a verificare che il valore successivo sia maggiore di 1 unita?avevo pensato a una cosa del genere:
    for(i=0;i<array.length-1;i++){
    if (array[0][0]==(array[i][0]+i))
    return true;
    }
    Ma nn sembra funzionare..

  2. #2
    io sinceramente non ho ben capito ne il problema ne cosa vuoi fare :gren: stordito io

  3. #3
    direi che forse nn mi sono spiegato bene io: devo verificare se gli elementi contenuti all'interno dell'array sono progressivi.Ad esempio 1,2,3,4,5.Sono stato piu chiaro?

  4. #4
    quindi la seconda parte dell'array (quella che contiene il testo) non la devi controllare ... giusto?

    l'array conterrà sempre "1" in prima posizione, "2" in seconda e cos'i via? o nel primo posto ci può anche essere "50" e nel secondo "51"?

  5. #5
    no la seconda parte (il secondo indice) nn lo devo verificare.La scala di valori va da 1 a 13

  6. #6
    allora fai:

    codice:
    foo = true
    for (i=0; i<array.length; i++) {
      if (i != (array[i] +1)) {
         foo = false;
      };
    };
    in questo modo controlli che l'array sia strutturato così:


    indice : 0 1 2 3 4 etc
    contenuto: 1 2 3 4 5 etc


    nel caso che l'indice sia diverso dal contenuto +1 setti la variabile foo (che è semplicemente un flag) a false ... quindi alla fine del controllo se tutto l'array è "sequenziale" foo sarà true, in caso contrario sarà false

    ... più avanti nello script controllerai se foo è true o false e agirai di conseguenza.

  7. #7
    Ciao grazie dell'aiuto.Il risultato finale è questa funzione:
    function checkSequenziale(ar) {
    for (i=0; i<ar.length-1; i++) {
    var firstCard = ar[i][0];
    var secondCard = ar[i+1][0];
    if ((firstCard+1) != secondCard) {
    return false;
    }
    }
    return true;
    }

  8. #8
    ottima

  9. #9
    thanks:gren:

  10. #10

    ......

    Forse dico una cretinata perchè uso flash da molto poco ma non credi sia superfluo assegnare i valori contenuti nell'array alle due variabili?
    Potresti fare cos'...


    function checkSequenziale(ar) {
    for (i=0; i<ar.length-1; i++) {

    if ((ar[i][0])+1 != (ar[i+1][0]) { /* Molto meglio se metti */
    return false; /* ar[i][0]) > (ar[i+1][0])*/
    }
    }
    return true;
    }
    Così non allochi variabili visto che la funzione è booleana , inoltre il discorso che hai fatto tu vale per i numeri interi positivi ... se hai altri tipi?
    Probabilmente avrò sparato un mucchio di cavolate ... se è così non ci fare caso..
    //////Under Construction\\\\\\\\

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.