Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 27
  1. #11
    ma davvero?

    e come faccio a scrivere una funzione che simuli il push... voglio dire dovrei aggiungere manualmente il valore alla matrice... ma senza push come?

    il pop e le altre funzioni ci sono?

    ----------------

    a questo punto mi preoccupa anche lo splice per segare un valore in una pos i... voglio dire s enon c'è il push figuriamoci lo splice...
    "La consapevolezza di Case suddivisa come perle di mercurio. La sua visione era sferica, come se una singola retina rivestisse la superficie interna di un globo che conteneva tutte le cose, se tutte le cose si potevano contare." —Neuromante, William Gibson (1984)

  2. #12
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Per NN e Ns il Push come metodo di matrice e` stato aggiunto dalla versione JS 1.2: http://devedge.netscape.com/library/...y.html#1196550

    Invece Devguru dice che push e` metodo implementato da Netscape (escludendo quindi IE): http://www.devguru.com/technologies/...kref/push.html

    Supponendo che devguru non sia aggiornato alla versione IE6, ecco spiegato l'arcano.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #13
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da panta
    e come faccio a scrivere una funzione che simuli il push... voglio dire dovrei aggiungere manualmente il valore alla matrice... ma senza push come?
    var mat = new Array("uno", "due", "tre");
    alert (mat.length);

    mat[mat.length] = "quattro"; // aggiunge un elemento alla fine
    alert (mat.length);

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #14
    grazie... e quindi come potrei sostituirlo con IE, forse con unshift con annesso ribaltamento dell'array?
    "La consapevolezza di Case suddivisa come perle di mercurio. La sua visione era sferica, come se una singola retina rivestisse la superficie interna di un globo che conteneva tutte le cose, se tutte le cose si potevano contare." —Neuromante, William Gibson (1984)

  5. #15
    ma non ci credo!!! funziona...
    ma davvero basta così poco per aggiungere un elemento?!?!?

    ma che figata!

    grazie mille

    grazie mille anche a te willybit
    "La consapevolezza di Case suddivisa come perle di mercurio. La sua visione era sferica, come se una singola retina rivestisse la superficie interna di un globo che conteneva tutte le cose, se tutte le cose si potevano contare." —Neuromante, William Gibson (1984)

  6. #16
    come non detto... ora non funge + neanche su IE6...

    ma se ho fatto un esempietto di poche linee e fungeva... lo sbatto nel codiciONE e non va...

    mmm

    la pag è questa
    "La consapevolezza di Case suddivisa come perle di mercurio. La sua visione era sferica, come se una singola retina rivestisse la superficie interna di un globo che conteneva tutte le cose, se tutte le cose si potevano contare." —Neuromante, William Gibson (1984)

  7. #17
    nooooooo BUHAHAHAHHA dsono un deficiente... avevo riscritto male il nome di una delle matrici... ora funge anche su IE5

    GRAZIEEEEEE

    TUTTAVIA... coem sospettavo... risolto il problema del push si pone quello dello splice...

    ovvero si aggiungo gli elementi ma non si rimuovono!!!!

    aaaaaaaa su IE6 si rimuovono correttamente x' a quanto pare supporta lo splice... su IE 5 no...

    come posso eliminare un elemento da una posizione arbitraia dell'array senza lo splice...????? arghhhhh
    "La consapevolezza di Case suddivisa come perle di mercurio. La sua visione era sferica, come se una singola retina rivestisse la superficie interna di un globo che conteneva tutte le cose, se tutte le cose si potevano contare." —Neuromante, William Gibson (1984)

  8. #18
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    codice:
    function mySplice(arr,n) {
      var i, j=0;
      var newarr = new Array();
      for(i=0; i<n; i++) {
        newarr[j++] = arr[i];
      }
      for(++i;i<arr.length; i++) {
         newarr[j++] = arr[i];
      }
      return newarr;
    }
    Non so se funziona nei casi n==0 e n==arr.length (occorrerebbe verificare cosa succede ai vari for, e forse sostituirli con while, ma lo lascio fare a Willy, che queste cose le sa fare ... cosi` imparo anche qualcosa).

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #19
    ma quanto bella è sta funzione?!?!??!?!?

    MA IO TI REGALO UN CESTO DI NATALE!!!! oggi te lo spedisco!

    GRAZIE MILLE, VERAMENTE FUNGE CHE è UNA MERAVIGLIA! :metallica :metallica :mavieni: :metallica :mavieni: :tongue:

    ciaooooooooooooooo
    "La consapevolezza di Case suddivisa come perle di mercurio. La sua visione era sferica, come se una singola retina rivestisse la superficie interna di un globo che conteneva tutte le cose, se tutte le cose si potevano contare." —Neuromante, William Gibson (1984)

  10. #20
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Riekkime :gren: (ho avuto un po' da fare e poi il forum era in manutenzione)

    io non avevo mai usato splice, slice, push, pop negli array js
    mi sono documentato un po'... avrei fatto dei prototype per l'Array nel caso il browser non sia "di ultima generazione"
    chi ha IE5 per verificare?
    codice:
    arr = new Array
    
    if(!arr.pop){
    	Array.prototype.pop = function(){
    		valore = this[this.length-1]
    		this.length = this.length-1
    		return valore
    	}
    }
    
    if(!arr.push){
    	Array.prototype.push = function(valore){
    		this[this.length]=valore
    	}
    }
    
    if(!arr.slice){
    	Array.prototype.slice = function(inizio,fine){
    		xArray = new Array()
    		if(!fine || fine>this.length)fine=this.length
    		for(i=inizio;i<fine;i++){
    			xArray[xArray.length]=this[i]
    		}
    		return xArray	
    	}
    }
    
    if(!arr.splice){
    	Array.prototype.splice = function(inizio,lunghezza){
    		xArray = new Array()
    		fine = inizio+lunghezza
    		if(fine>this.length)fine=this.length
    		for(i=inizio;i<fine;i++){
    			xArray[xArray.length]=this[i]
    		}
    		lun = this.length
    		j=0
    		for(i=0;i<lun;i++){
    			if(i<inizio || i>=fine){
    				this[j++]=this[i]
    			}
    		}
    		this.length=j
    		return xArray
    	}
    }
    me fate sape'?
    Aloha

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.