Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    336

    Elimima i pari in un array

    Sto cercando di eliminare gli elementi pari in un array con una funzione del tipo:
    function EliminaPari(){
    j=0

    while(j<seq.lenght) {if (seq[j]%2==0) {seq.splice(j,1)};j++}


    }

    La funzione, tuttavia, non riesce ad eliminare nulla. Gli elementi rimangono sempre dello stesso numero. Qualcuno mi saprebbe aiutare.

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ma cosa vuoi fare?

    1) eliminare tutti gli elementi di indice pari (2-4-6...)

    2) eliminare tutti gli elementi che contengono un numero pari

    :master:
    Pietro

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    336
    eliminare tutti gli elementi pari.
    per esempio in un array del tipo:
    [3,2,1,4]
    diventa
    [3,1]

    Ma ho trovato l'errore.
    Il codice è il seguente:

    function EliminaPari(){


    for(var j = 0; j < seq.length; j++)
    {if (seq[j]%2==0) {seq.splice(j,1);EliminaPari()}};
    L'ho provata e funziona.

    Ti ringrazio come al solito per il tuo interessamento

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    prova pure questo

    codice:
            var a = [20,101,205,36,43,21];
            
            //elimino tutti gli elementi pari
            for(var i = a.length - 1 ; i >= 0; i--)
            {
                if((a[i] & 1) == 0) a.splice(i,1);
            }
            alert(a);
    Pietro

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    336
    Ma cosa vuol dire
    if((a[i] & 1) == 0)

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    336
    Comunque il tuo codice funziona alla perfeziona

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da Alex75
    Ma cosa vuol dire
    if((a[i] & 1) == 0)
    Faccio un AND con 1; così recupero la prima cifra binaria da destra. Se è 0 ==> pari, se è 1 ==> dispari.
    Pietro

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    336
    OK, FUNZIONA. Grazie

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