Visualizzazione dei risultati da 1 a 4 su 4

Discussione: array length

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    72

    array length

    Salve, uso flash mx professional 2004, ed ho questoi problema:

    ho creato una lista di array: conf1, conf 2 eccetera..
    per vedere il numero di elementi presenti negli array se faccio
    trace(conf1.length);
    funziona, ma se voglio vedere gli elementi di tutti gli array facendo

    for(i=1; i<=40; i++){
    trace(["conf"+i].length);
    }
    non funziona

    pare che length voglia proprio il nome dell'array scritto per esteso, cosa che volevo evitare per semplicità, avendone una quarantina...come posso fare? grazie

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Quando generi un qualsiasi oggetto al volo con una sintassi del genere: var arr = new Array(); : devi tener presente il fatto che tale oggetto viene generato all'interno della timeline in cui il codice viene eseguito, quindi se stai sulla timeline principale, sarai su _root e dovrai richiamare gli oggetti con la sintassi che hai specificato nel tuo esempio facendo riferimento a _root

    Codice PHP:
    for (i=1i<=40i++){
        
    trace(_root["conf"+i].length);

    anche se personalmente preferisco usare un array che contenga gli altri per controllare meglio la situazione e non inserire troppi oggetti dentro _root.
    Un esempio di quello che intendo potrebbe essere questo:

    Codice PHP:
    var lista = new Array();
    lista.push([0,1,2]);
    lista.push([3,4,5]);
    lista.push([6,7,8]);
    for (var 
    i=0i<lista.lengthi++) {
        
    trace(lista[i].length);


  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    72
    credevo di poterlo evitare visto che la creazione degli array e il loro controllo col ciclo for venivano fatti nello stesso clip...invece pare di no..scrivendo per esteso il nome del clip dove si trovano funziona tutto...grazie mille!

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    se stanno dentro a un clip, per semplificare il codice puoi usare direttamente il this

    Codice PHP:
    for (i=1i<=40i++){
        
    trace(this["conf"+i].length);


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.