Ciao a tutti.
Ho un problema strano e che non mi dà tregua, le ho provate tutte. Allora, devo usare un array (bidimensionale) globale, ma c'è questo problema: quando lo inizializzo tutto ok, ma quando lo richiamo da un'altra funzione, l'intero array contiene un solo valore, che è l'ultimo che viene inserito dal ciclo for di inizializzazione.
Ho provato definendo l'array in modo classico: var argam=new Array();
Poi con una forzatura: var argam={value: new Array()}
Ed infine creando una classe dedicata: function arrayGlobal() {this.pattern = new Array();}
var argam=new arrayGlobal();
Ma con tutti e tre i metodi succede la stessa cosa.
L'array viene inizializzato in una funzione tramite un ciclo for che lo riempe con valori casuali; funziona correttamente perchè ho verificato con alert.
Quando però richiamo un'altra funzione che dovrebbe utilizzare questo array, al suo interno l'array viene visto interamente come pieno solo dell'ultimo valore creato; anche questo l'ho verificato con un ciclo for di alert.
Qualcuno ci capisce qualcosa? La cosa strana è che l'array non viene visto vuoto, in quel caso sarebbe un problema di scope, che comunque il terzo metodo (quello della creazione della classe) elimina sempre efficacemente.
Qui l'array si "autoriempe" con l'ultimo valore e davvero non so più che pesci pigliare...

Rispondi quotando