Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    53

    array multidimensionali e push

    Ciao,

    creato un array multidimensionale
    var linea1:Array = Array({lat:44, lng:9}, {lat:45, lng:9})

    vorrei aggiungergli altri punti con push e valori di variabili

    pto3lat=46
    pto3lng=10
    linea1.push(?????) // ({latto3lat, lngto3lng}

    ... ma non riesco.
    Conoscete il modo in as2,flash 8?

    ... e qualche tutorial dove approfondire sugli array multidimensionali?

    CIAO e Grazie

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    quello non è un array multidimensionale, è un array semplice che contiene però degli elementi di tipo "Object" che possono contenere variabili con accoppiata "nome+valore"

    il push comunque è corretto, non capisco sinceramente perchè non ti funzioni, l'ho anche provato per maggiore sicurezza nella risposta, e va perfettamente

    Codice PHP:
    var linea1:Array = Array({lat:44lng:9}, {lat:45lng:9})
    trace (linea1[0].lat); // output: 44
    trace (linea1[0].lng); // output: 9
    trace (linea1[1].lat); // output: 45
    trace (linea1[1].lng); // output: 9
    trace (linea1.length); // output: 2
    pto3lat=46
    pto3lng
    =10
    linea1
    .push({lat:pto3latlng:pto3lng})
    trace (linea1[2].lat); // output: 46
    trace (linea1[2].lng); // output: 10
    trace (linea1.length); // output: 3 

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    53
    Grazie and80,
    l'equivoco per me è nato dal fatto che ho iniziato a costruire degli array multidimensionali, senza specificare quindi lat e lng

    var linea1:Array = new Array([44.1114, 9.8320], [44.1144, 9.8387])

    poi ho aggiunto la descrizione e ho continuato a chiamare il mio array come se fosse multidimensionale

    trace (linea1[0][0]) etc

    E qui ha smesso di funzionare tutto !!

    A questo punto esistono delle linee guida su quale dei due sistemi usare? Anche in funzione di una migrazione verso AS3 (negative in un altro mio thread http://forum.html.it/forum/showthrea...readid=1165091) mia ha introdotto la classe Dictionary ... che però non ho approfondito per mancanza di tempo)

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    delle linee guida, sì... ma pressappoco sono quelle che trovi per un qualsiasi linguaggio che preveda l'uso degli array e trovi spiegata nei "tipi" della guida interna di flash
    questa parte della guida riguarda esattamente gli array multidimensionali: http://livedocs.adobe.com/flash/8_it/main/00001259.html

    per quanto riguarda la migrazione ad AS3 riguardo agli array, non ci sono grandi modifiche, qualche aggiunta, ma il resto continua a funzionare alla stessa maniera

    nel tuo caso specifico comunque considera questo:
    un array può contenere ogni tipo di dato contemplato in flash, quindi anche degli Object
    gli Object sono costituiti da una serie di variabili con un valore di riferimento, un Object si crea in un paio di modi

    1.
    var myObject = new Object();
    myObject.variabile = "contenuto della variabile"

    2.
    var myObject = {variabile:"contenuto della variabile"};

    quindi puoi "pushare" degli object dentro un array e sfruttarne l'indice per richiamarli

    var myArray = [{variabile:"contenuto della variabile"}];
    trace(myArray[0].variabile); // output: "contenuto della variabile"

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.