Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di licio
    Registrato dal
    Sep 2002
    Messaggi
    170

    gestione elementi array

    Uso da poco le array, voglio fare delle operazioni, ma non so come e se si possono fare.

    facciamo un esempio:

    1)ho l'array:

    arrayNumero = ["uno", "due", "tre", "quattro", "cinque", "sei",];

    posso eliminare un dato elemento dall'array senza sapere in che posizione si trova?

    1)ho l'array:

    arrayNumero = ["uno", "due", "due", "due", "uno", "sei",];

    esiste un comando che mi estrapola quanti elementi "due" sono presenti nell'array?

    Grazie e scusate se per caso ho scritto delle bestialità

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    x la seconda domandarova a dare un'occhiata al comando sort();
    per la prima: ok, non sai in che posizione si trova, allora vuoi eliminarlo in base al contenuto suppongo. devi fare un ciclo for che controlli il contenuto, quando trovi l'elemento dell'array che vuoi eliminare, lo elimini...

  3. #3
    Utente di HTML.it L'avatar di licio
    Registrato dal
    Sep 2002
    Messaggi
    170
    ok per la prima, ma il comando sort mi ordina solamente gli elementi, non mi estrapola nulla.....

    già che ci sono..... come posso fare per "mescolare" gli elemnti di una array, cioè cambiarne l'ordine a caso?

  4. #4
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    codice:
    Array.prototype.deleteItem = function(item)
    {
    	for(var i = 0; i < this.length; i++){
    		if(this[i] == item){
    			this.splice(i, 1);
    			return true;
    		}
    	}
    	return false;
    };
    Array.prototype.countItem = function(item)
    {
    	var counter = 0;
    	for(var i = 0; i < this.length; i++){
    		if(this[i] == item)counter++;
    	}
    	return counter;
    };
    
    
    arrayNumero1 = ["uno", "due", "tre", "quattro", "cinque", "sei"];
    trace("array originale: " + arrayNumero1);
    arrayNumero1.deleteItem("due");
    trace("array modificato: " + arrayNumero1);
    
    arrayNumero2 = ["uno", "due", "due", "due", "uno", "sei"]; 
    trace("l'elemento 'due' è presente " + arrayNumero2.countItem("due") + " volte");

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    non credo che esista un comando per estrapolare. usa sempre un ciclo:
    quando trovi gli elementi che ti interessano, fai un push in un array temporaneo.
    per mescolare gli elementi:
    -scrivi in una variabile il numero di elementi dell'array
    -riempi con un ciclo for un array temporaneo con il numero di elementi meno uno, es:
    arraytemp[0]=0;
    arraytemp[1]=1;
    ...
    arraytemp[n]=n-1;
    -poi, con un altro ciclo for, fai un push di un elemento dell'array vecchio in un array nuovo, usando come indice random(arraytemp.length()) , e contemporaneamente togli da arraytemp l'indice appena utilizzato.

  6. #6
    Utente di HTML.it L'avatar di licio
    Registrato dal
    Sep 2002
    Messaggi
    170
    wow, 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 © 2025 vBulletin Solutions, Inc. All rights reserved.