Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    importa tutte le variabili in un array

    Ciao a tutti,
    passo ad un flash una serie di variabili, ad esempio:

    v1=x
    v2=y
    v3=z
    ....
    vn=n

    Non so quante siano, in certi casi possono essere solo due ed in altri anche più di trenta. Attualmente per metterle in un array faccio in questo modo:

    codice:
      
            valori = new Array();
    	if(_root.v0!=undefined) {valori[0]=_root.v0};
    	if(_root.v1!=undefined) {valori[1]=_root.v1};
    	if(_root.v2!=undefined) {valori[2]=_root.v2};
    	if(_root.v3!=undefined) {valori[3]=_root.v3};
    	if(_root.v4!=undefined) {valori[4]=_root.v4};
    	if(_root.v5!=undefined) {valori[5]=_root.v5};
    	if(_root.v6!=undefined) {valori[6]=_root.v6};
    	if(_root.v7!=undefined) {valori[7]=_root.v7};
    	if(_root.v8!=undefined) {valori[8]=_root.v8};
    	if(_root.v9!=undefined) {valori[9]=_root.v9};
    	if(_root.v10!=undefined) {valori[10]=_root.v10};
    Ma immagino che con un ciclo, un push ed un eval posso riddure questo limitato mare di codice in poche righe... Ma non so come... qualcuno sa aiutarmi! Thanx!
    Noize•Power

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    codice:
    var valori = new Array();
    //
    // qui cambi il valore a seconda del numero
    // di variabili che vuoi inserire
    var tot = 10; 
    // poi avvii il ciclo con tot come limite
    for (var i = 0; i<tot; i++){
    	if(_root["v"+i] != undefined){
    		valori[i] = _root["v"+i];
    	}
    }
    quanto ti ho indicato è per 10 variabili ossia con nomi da v0 a v9, per includere anche v10 dovresti scrivere tot = 11; o segnalare nel ciclo i<=tot, spero sia comprensibile il ragionamento anche se l'ho contorto abbastanza

  3. #3
    Grazie Mille! eval mi aveva messo fuori strada, in effetti non mi serviva a nulla...
    avevo appena risolto così:

    codice:
    	var Lim = 100;
    	testi = new Array();
    	valori = new Array();
    
    	for (var vt = 0; vt<=Lim; vt++) {
    		var this_t = _root["t"+vt];
    		var this_v = _root["v"+vt];
    		
           if(this_t!=undefined)	{
    	   testi[vt]=this_t;
    	   }
    	 if(this_v!=undefined)	{
    	   valori[vt]=this_v;
    	   }
    	}
    Noize•Power

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.