Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-03-2007, 16:58   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 158
assoziatives mehrdimensionales Array auslesen

Hi,

ich hab ein dynamisches Array erzeugt aus einer Textdatei. Unter Debug-Variablen auflisten bekomm ich das auch richtig angezeigt, aber die Eigenschaft length gibt immer 0 zurück. So sieht das Array aus (siehe unten)

Also:
Code:
trace(arr_groups.length);
ergibt 0. Sollte aber 5 zurückgeben.
Bin grad etwas verzweifelt. Ich möchte das komplette Array in einer Schlaufe durchlaufen. (ich tippe mal auf einen massiven Denkfehler)
Danke für alle Hinweise
Gruß
Michael

Code:
Variable _level0.arr_groups = [Objekt #2, Klasse 'Array'] [
    DECKEN-SYSTEME:[Objekt #3, Klasse 'Array'] [
      DX-DECKE:[Objekt #4, Klasse 'Array'] [
        Prospekte:"Fugenverguß-09_05.pdf|248586|23.11.2006;Sil-DX_Verarbeitungsh.pdf|87149|26.03.2007",
        Datenblätter:"DXDECKE_BROSCHUERE.pdf|3242288|28.12.2006;DXDECKE_DATENBL.pdf|90701|05.05.2006",
        Prüfberichte, Zertifikate:"Gutachten_Schallschutz_DX.pdf|1246885|09.10.2006;SIL-DX_VERARBEITUNGSHINWEIS.pdf|87149|18.05.2006;Typenpruefung_DX20_12_2009.pdf|1484130|22.12.2004;Typenpruefung_DX24_05_2010.pdf|1452339|25.05.2005",
        Ausschreibungstexte:"DX_Decken_20_24.pdf|16558|31.10.2006",
        Einbauhinweise:"DXDECKE_BROSCHUERE.pdf|3242288|26.04.2005;DXDECKE_DETAILS.pdf|4276029|12.01.2004",
        Diverses, Sonstiges:"DXDECKE_PROSPEKT.pdf|947090|05.05.2006;Fugenverguss-09_05.pdf|248586|23.11.2006"
      ],
      MS-DECKE:[Objekt #5, Klasse 'Array'] [
        Prospekte:"MSDECKE_PROSPEKT.pdf|143555|05.05.2006",
        Datenblätter:"MSDECKE_DATENBL.pdf|70813|05.05.2006",
        Prüfberichte, Zertifikate:"Zulassung_MS_03_2009.pdf|3380580|",
        Ausschreibungstexte:"MSDECKE_AUSSCHREIB.pdf|35711|24.10.2003"
      ],
      VMM-VSD-DECKE:[Objekt #6, Klasse 'Array'] [
        Prospekte:"VMMDECKE_PROSPEKT.pdf|131367|05.05.2006",
        Datenblätter:"VMMDECKE_DATENBL.pdf|67301|05.05.2006",
        Prüfberichte, Zertifikate:"Typenpruefung_VMM_02_2010.pdf|2573482|;Zulassung_VMM_08_2009.pdf|2264243|",
        Ausschreibungstexte:"VMMDECKE_AUSSCHREIB.pdf|33747|24.10.2003"
      ]
    ],
    ELEMENT-TREPPEN:[Objekt #7, Klasse 'Array'] [
      TREPPE_1-4:[Objekt #8, Klasse 'Array'] [
        Prospekte:"DEN_BRO_Treppen_0606.pdf|1778621|03.07.2006;TREPPEN_PROSPEKT.pdf|433277|05.05.2006",
        Datenblätter:"TREPPE1_4_DATENBL.pdf|117177|05.05.2006",
        Prüfberichte, Zertifikate:"Typenpr_viertelgew_11_2006.pdf|446149|",
        Ausschreibungstexte:"Treppen.pdf|31695|31.10.2006",
        Diverses, Sonstiges:"DEN_Element_Treppen_0105.pdf|1926920|08.12.2004"
      ],
      TREPPE_2-4:[Objekt #9, Klasse 'Array'] [
        Prospekte:"DEN_BRO_Treppen_0606.pdf|1778621|03.07.2006;TREPPEN_PROSPEKT.pdf|731019|14.07.2006",
        Datenblätter:"TRE_2_1_4_DATENBL.pdf|209711|05.05.2006",
        Prüfberichte, Zertifikate:"Typenpr_halbgew_C_02_2010.pdf|385466|;Typenpr_halbgew_LC_05_2011.pdf|361861|",
        Ausschreibungstexte:"Treppen.pdf|31695|31.10.2006",
        Diverses, Sonstiges:"DEN_Element_Treppen_0105.pdf|1926920|08.12.2004"
      ],
      TREPPE_GERADE:[Objekt #10, Klasse 'Array'] [
        Prospekte:"TREPPEN_PROSPEKT.pdf|433277|05.05.2006",
        Datenblätter:"TREP_GER_DATENBL.pdf|109974|05.05.2006",
        Prüfberichte, Zertifikate:"Typenpr_ger_Tre_pod_072011.pdf|314031|",
        Ausschreibungstexte:"Treppen.pdf|31695|31.10.2006",
        Diverses, Sonstiges:"TREP_GER_m_pod_12.pdf|890325|10.09.2002;TREP_GER_m_pod_14.pdf|1011979|10.09.2002;TREP_GER_m_pod_16.pdf|981768|10.09.2002;TREP_GER_m_pod_18.pdf|730881|10.09.2002;TREP_GER_m_pod_20.pdf|754461|10.09.2002;TREP_GER_o_pod_12.pdf|439893|10.09.2002;TREP_GER_o_pod_14.pdf|346835|10.09.2002;TREP_GER_o_pod_16.pdf|345187|10.09.2002;TREP_GER_o_pod_18.pdf|330125|10.09.2002;TREP_GER_o_pod_20.pdf|305397|10.09.2002"
      ],
      TREPPE_SONDER:[Objekt #11, Klasse 'Array'] [
        Prospekte:"TREPPEN_PROSPEKT.pdf|433277|17.05.2006",
        Datenblätter:"TREP_SONDER_DATENBL.pdf|109974|05.05.2006",
        Ausschreibungstexte:"Treppen.pdf|31695|31.10.2006"
      ]
    ],
    SCHORNSTEIN-SYSTEME:[Objekt #12, Klasse 'Array'] [
      ATMOS:[Objekt #13, Klasse 'Array'] [
        Prospekte:"ATMOSTWIN_PROSPEKT.pdf|398253|05.05.2006;ATMOS_PROSPEKT.pdf|275881|05.05.2006",
        Datenblätter:"ATMOSTWIN_DATENBL.pdf|207914|05.05.2006;ATMOS_DATENBL.pdf|133924|05.05.2006",
        Prüfberichte, Zertifikate:"ATMOSTWIN_Zulassung.pdf|1157792|27.10.2004;ATMOSTWIN_Zulassung_L90.pdf|280536|27.10.2004;ATMOS_Zulassung.pdf|1262326|11.03.2003;Z-13_1_1-06-6904_ATMOS_Daem.PDF|739301|;ZulassZ-7-1-1426_ATMOS_0906.PDF|2639749|",
        Ausschreibungstexte:"ATMOSTWIN_AUSSCHREIB_1204.pdf|53792|03.12.2004;Ausschr_ATMOS_ghoch_091006.pdf|35317|31.10.2006;Ausschr_ATMOS_Twin_091006.pdf|68442|31.10.2006",
        Einbauhinweise:"ATMOSTWIN_EINBAUHIN.pdf|3098814|14.02.2006;Atmos_NT30_EBHW_0906.pdf|3016385|"
      ],
      NT30:[Objekt #14, Klasse 'Array'] [
        Prospekte:"NT30_PROSPEKT.pdf|427309|05.05.2006",
        Datenblätter:"NT30_DATENBL.pdf|65712|05.05.2006",
        Prüfberichte, Zertifikate:"NT30_PRUEFBER_TABUEBER.pdf|109027|01.10.2002;NT30_ZULASSUNG.pdf|2909246|19.05.2003;Zul_Z-7_1-3220_NT30_0906.PDF|3853402|",
        Ausschreibungstexte:"Ausschr_NT30_091006.pdf|83493|31.10.2006",
        Einbauhinweise:"Atmos_NT30_EBHW_0906.pdf|3016385|"
      ]
    ],
    STUERZE:[Objekt #15, Klasse 'Array'] [
      KOMBI-VR:[Objekt #16, Klasse 'Array'] [
        Prospekte:"STUERZE_PROSPEKT.pdf|550238|05.05.2006",
        Datenblätter:"KOMVRSTURZ_DATENBL.pdf|127039|05.05.2006;VRSTURZ_DATENBL.pdf|316666|29.04.2005",
        Prüfberichte, Zertifikate:"KOMVRSTURZ_PRUEFBER.pdf|1404112|01.10.2002",
        Ausschreibungstexte:"KOMVRSTURZ_AUSSCHREIB.pdf|42855|24.10.2003;Stuerze_Saeulen.pdf|20095|31.10.2006",
        Einbauhinweise:"V_Sturz_EBHW_1205.pdf|447150|23.11.2006"
      ],
      RS:[Objekt #17, Klasse 'Array'] [
        Prospekte:"STUERZE_PROSPEKT.pdf|550238|05.05.2006",
        Datenblätter:"RSSTURZ_DATENBL.pdf|167319|05.05.2006",
        Ausschreibungstexte:"RSSTURZ_AUSSCHREIB.pdf|42855|24.10.2003;Stuerze_Saeulen.pdf|20095|31.10.2006",
        Einbauhinweise:"RSSTURZ_EINBAUHIN.pdf|943318|21.06.2006;RS_Sturz_EBHW_1106.pdf|1446289|23.11.2006",
        Diverses, Sonstiges:"RSSTURZ_Stat_Berechnung.pdf|1404112|01.10.2002"
      ],
      VR:[Objekt #18, Klasse 'Array'] [
        Prospekte:"STUERZE_PROSPEKT.pdf|877336|05.05.2006",
        Datenblätter:"VRSTURZ_DATENBL.pdf|303412|05.05.2006",
        Prüfberichte, Zertifikate:"Typenpruefung_Verbundsturz.pdf|1099764|;VRSTURZ_PRUEFBERICHT.pdf|1404112|01.10.2002",
        Ausschreibungstexte:"Stuerze_Saeulen.pdf|20095|31.10.2006;VRSTURZ_AUSSCHREIB.pdf|42855|24.10.2003",
        Einbauhinweise:"VRSTURZ_EINBAUHIN.pdf|447150|07.12.2005;V_Sturz_EBHW_1205.pdf|447150|23.11.2006"
      ]
    ],
    WAND-SYSTEME:[Objekt #19, Klasse 'Array'] [
      BASE:[Objekt #20, Klasse 'Array'] [
        Prospekte:"BASE_PROSPEKT.pdf|953338|03.07.2006",
        Datenblätter:"BASE_DATENBL.pdf|203490|05.05.2006",
        Prüfberichte, Zertifikate:"Gutachten_WU_BASE.pdf|335517|22.12.2005;Pruefzeugnis_ADICON_08_2009.pdf|1923913|15.03.2005;Typenpruefung_BASE_05_2010.pdf|1373217|25.05.2005",
        Ausschreibungstexte:"BASE_Ausschreibung.pdf|20508|31.10.2006",
        Einbauhinweise:"Base_EBHW_0906.pdf|999893|"
      ],
      PORA:[Objekt #21, Klasse 'Array'] [
        Prospekte:"DEN_BRO_PORAWAND_1106.pdf|559043|03.11.2006",
        Einbauhinweise:"PORA-Wand_EBHW_1106.pdf|1414463|23.11.2006"
      ]
    ]
  ]
Lengen1971 ist offline   Mit Zitat antworten
Alt 27-03-2007, 02:01   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.321
etwas unübersichtlich dein post.

var a1=new Array();
var a2=[];
das sind arrays und die haben die funktion length

var o1=new Object();
var o2={};
das sind objecte (die sehr oft mit arrays verwechselt werden), die haben keine funktion length.

zeig mal den script, wie du dein gebilde erzeugst.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 27-03-2007, 07:25   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 158
Moin, ok, kein Problem:

Code:
antwort="DECKEN-SYSTEME/DX-DECKE/Prospekte/Fugenverguß-09_05.pdf/248586/23.11.2006; ... ... " // kommt von PHP

arr_antwort=antwort.split(";");
arr_groups=new Array();

for (x=0;x<arr_antwort.length;x++)
{
	arr_antwort_parts=arr_antwort[x].split("/");
	
if (typeof(arr_groups[arr_antwort_parts[0]])=="undefined")
		{
			arr_groups[arr_antwort_parts[0]]=Array();
		}
		
		if (typeof(arr_groups[arr_antwort_parts[0]][arr_antwort_parts[1]])=="undefined") 
		{
			arr_groups[arr_antwort_parts[0]][arr_antwort_parts[1]]=Array();
		}
		
		if (typeof(arr_groups[arr_antwort_parts[0]][arr_antwort_parts[1]][arr_antwort_parts[2]])=="undefined")
		{
			arr_groups[arr_antwort_parts[0]][arr_antwort_parts[1]][arr_antwort_parts[2]]="";
		}
		
		if (arr_groups[arr_antwort_parts[0]][arr_antwort_parts[1]][arr_antwort_parts[2]]!="") {
			arr_groups[arr_antwort_parts[0]][arr_antwort_parts[1]][arr_antwort_parts[2]]+=";";
		}
		arr_groups[arr_antwort_parts[0]][arr_antwort_parts[1]][arr_antwort_parts[2]]+=arr_antwort_parts[3];
		arr_groups[arr_antwort_parts[0]][arr_antwort_parts[1]][arr_antwort_parts[2]]+="|"+arr_antwort_parts[4]+"|"+arr_antwort_parts[5];
		
		
}

Gruß
Michel

PS: Bei mir ergibt:
Code:
var arr_groups=new Array("");
trace(typeof(arr_groups));
die Ausgabe: object

Geändert von Lengen1971 (27-03-2007 um 07:33 Uhr)
Lengen1971 ist offline   Mit Zitat antworten
Alt 27-03-2007, 07:38   #4 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.321
naja, ich zeige dir einen 3cm langen strich und du sollst dann raten zu welcher landesgrenze das stück gehört. so bekommst du nie eine antwort.

zumindestens das da ist unfug:
if (typeof(xxx)=="undefined")

typeof ist niemals undefined

versuch mal selbst deinen fehler zu finden, mit dem debugger -siehe meine signatur- kannst du dein programm schrittweisse abarbeiten.

auch in der flash-hilfe suchen nach
ActionScript 2.0 in Flash - Arbeitshandbuch:
"An einem Remote-Standort gespeicherte SWF-Datei debuggen"
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (27-03-2007 um 07:42 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 27-03-2007, 07:49   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 158
Aha,

du wolltest doch diesen Codeschnipsel haben, oder nicht? Was meinst du mit Strich? Mehr Code hab ich nicht, der Debugger zeigt mir ein Array (siehe erster Post) Was genau möchtest du haben, um meine Frage zu beantworten?

typeof gibt sehrwohl undefined zurück. Zumindest steht das in meinem Ausgabefenster.

Den Tip meinen Fehler selbst zu finden... ganz toll. Warum machst du dir die Mühe zu schreiben?

Laß es einfach, vielleicht kann mir jemand anders sagen, wo ich falsch liege.
Lengen1971 ist offline   Mit Zitat antworten
Alt 27-03-2007, 07:59   #6 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.321
na, bist du heute mit dem falschen bein zuerst aufgestanden oder bist du immer so drauf?

wenn du etwas abfragst, das noch garnicht definiert wurde, das ist undefined - aber nicht das ergebnis der funktion typeof.

... ... " // kommt von PHP
und unsereiner soll jetzt hellsehen, was da kommt und warum es deinen fehler verursacht? du willst doch, das dir geholfen wird? dann musst du auch dafür sorgen, dass man dir helfen kann. also die dazu notwendigen daten liefern und nicht nur teile davon.

da ich weder deine php-daten, noch deine fla besitze, kann ich dein programm nicht debuggen. aber du hast das zeugs und somit kannst du das auch selbst machen. meine 'blöde' bemerkung das man das machen kann und wo man die info findet, swf's via server zu debuggen - stimmt, dich darüber zu informieren, das ist natürlich extrem blöd von mir.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 27-03-2007, 08:16   #7 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 158
Zitat:
Zitat von hgseib Beitrag anzeigen
na, bist du heute mit dem falschen bein zuerst aufgestanden oder bist du immer so drauf?

Wie drauf, ich war doch freundlich, oder? Ich laß es dir offen, mir zu helfen. Es war eine ganz normale Bitte in einem HILFE-FORUM ... (da hoffe ich auf Hilfe nicht auf den Hinweis, dass ich mir selbst helfen soll)

wenn du etwas abfragst, das noch garnicht definiert wurde, das ist undefined - aber nicht das ergebnis der funktion typeof.
DOO-OOCH!!! :-)

... ... " // kommt von PHP
und unsereiner soll jetzt hellsehen, was da kommt und warum es deinen fehler verursacht? du willst doch, das dir geholfen wird? dann musst du auch dafür sorgen, dass man dir helfen kann. also die dazu notwendigen daten liefern und nicht nur teile davon.

Die Daten sind ellenlang... dann schreibst du wieder, dass der Thread unübersichtlich ist. Die Daten sind mit ';' getrennt und genauso aufgebaut wie die Beispielzeile. Ich poste dir gern mehr, aber da wirst du nicht mehr sehen...

da ich weder deine php-daten, noch deine fla besitze, kann ich dein programm nicht debuggen. aber du hast das zeugs und somit kannst du das auch selbst machen. meine 'blöde' bemerkung das man das machen kann und wo man die info findet, swf's via server zu debuggen - stimmt, dich darüber zu informieren, das ist natürlich extrem blöd von mir.
Ich darf keine offenen Daten weggeben. 'Blöd' hab ich nie gesagt.

Gruß
Michael
Lengen1971 ist offline   Mit Zitat antworten
Alt 27-03-2007, 08:46   #8 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 158
Lösung

Für die anderen geplagten (hihi).

Flash verwandelt mehrdim. Arrays anscheinend in Objekte. Die haben keine Array-Funktionen mehr (deswegen kein .length). Um nun ein mehrdim. assoziatives Array auszulesen verwendet man:

Code:
for (i in myArray) { ... }
in meinem Fall:
Code:
for (i1 in arr_groups)
{
	trace(i1+":");
	for (i2 in arr_groups[i1])
	{
		trace("    "+i2+":");
		for (i3 in arr_groups[i1][i2])
		{
			trace("           "+arr_groups[i1][i2][i3]);
		}
	}
}
Gruß
Michel

@hgseib: Auf die Lösung bin ich durch einen anderen Thread von dir gekommen. Hättest du gleich gesagt, dass Flash keine assoz. Arrays kennt, dann hätten wir uns das erspart. An dieser Stelle... schönen Tag noch ;-)

Geändert von Lengen1971 (27-03-2007 um 08:51 Uhr)
Lengen1971 ist offline   Mit Zitat antworten
Alt 27-03-2007, 11:53   #9 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.321
Zitat:
Zitat von Lengen1971 Beitrag anzeigen
Flash verwandelt mehrdim. Arrays anscheinend in Objekte.
aber 1000%ig nein!
wer die length-funktion hat habe ich dir in #2 beschrieben.

geht wunderbar
_array = [[1, 2, 3], [1, 2, 3, 4, 5]];
trace(_array.length);
trace(_array[1].length);

_obj={name:"olaf", alter:33}
oder anderst geschrieben:
_obj=new Object();
_obj.name="olaf";
_obj.alter=33;
oder anderst geschrieben:
_obj={};
_obj["name"]="olaf";
_obj["alter"]=33;
das sind objekte und die haben keine length-funktion.

_obj=[];
_obj["name"]="olaf";
hier wandelt flash ein array in ein objekt um; das ist richtig. hat aber nichts mit mehrdimensional zu tun. da waren die flash-designer etwas zu grosszügig - oder zu geizig, je nach dem, wie man es interpretieren will.


Zitat:
Zitat von Lengen1971 Beitrag anzeigen
Hättest du gleich gesagt, dass Flash keine assoz. Arrays kennt
naja, und was steht hier in #2 ?
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (27-03-2007 um 12:18 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 27-03-2007, 13:45   #10 (permalink)
industry painter
 
Benutzerbild von edding950
 
Registriert seit: Aug 2006
Ort: auf'm Pott
Beiträge: 760
Lustiger Thread.

Um das ganze vielleicht nochmal begrifflich zu entwirren:

ActionScript:
  1. // dies ist ein assoziatives Array:
  2. var arr = new Array();
  3. arr["hans"] = "besitzt ein auto";
  4. arr["paul"] = "mag die farbe rot";
  5. //
  6. trace(arr.length); // 0
  7. trace(arr.hans); // besitzt ein auto
  8. trace(typeof arr); // object
  9. trace(arr instanceof Array); // true
  10.  

ActionScript:
  1. // dies ist ein mehrdimensionales Array (in diesem Fall 2dimensional):
  2. var arr = new Array();
  3. arr[0] = new Array(1, 2, 3, 4, 5, "sechs");
  4. arr[1] = new Array("ja", "nein", _root, {x:15, y:20});
  5. //
  6. trace(arr.length); // 2
  7. trace(arr[0][5]); // sechs
  8. trace(typeof arr); // object
  9. trace(arr instanceof Array); // true
  10.  

Ein Array IST ein Objekt - ganz gleich was man mit ihm anstellt und solange man es nicht grade löscht.
__________________
mfg.
edding950 ist offline   Mit Zitat antworten
Alt 27-03-2007, 15:45   #11 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 158
Sers,

was ihr beide nicht bedacht habt ist, wenn ein Array wieder ein Array und wieder ein Array enthält. Dann geht die length-Methode eben nicht. Gibt immer 0 zurück.

@hgseib: ich hab NIE wie in deinem zweiten Thread ein Object erstellt (siehe Code). Du hattest von Anfang an keinen Bock mein Problem zu verstehen, war´s nicht so?

Danke für eure Mühen. Mein Script läuft ... mehr wollt ich ja nicht.

Gruß
Michael
Lengen1971 ist offline   Mit Zitat antworten
Alt 27-03-2007, 15:47   #12 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 158
Zitat:
Zitat von hgseib Beitrag anzeigen
aber 1000%ig nein!
wer die length-funktion hat habe ich dir in #2 beschrieben.

geht wunderbar
_array = [[1, 2, 3], [1, 2, 3, 4, 5]];
trace(_array.length);
trace(_array[1].length);

_obj={name:"olaf", alter:33}
oder anderst geschrieben:
_obj=new Object();
_obj.name="olaf";
_obj.alter=33;
oder anderst geschrieben:
_obj={};
_obj["name"]="olaf";
_obj["alter"]=33;
das sind objekte und die haben keine length-funktion.

_obj=[];
_obj["name"]="olaf";
hier wandelt flash ein array in ein objekt um; das ist richtig. hat aber nichts mit mehrdimensional zu tun. da waren die flash-designer etwas zu grosszügig - oder zu geizig, je nach dem, wie man es interpretieren will.



naja, und was steht hier in #2 ?
WO STEHT DA, DASS FLASH KEINE ASSOZ. ARRAYS KENNT ?? HÄ?
Lengen1971 ist offline   Mit Zitat antworten
Alt 27-03-2007, 15:50   #13 (permalink)
industry painter
 
Benutzerbild von edding950
 
Registriert seit: Aug 2006
Ort: auf'm Pott
Beiträge: 760
Zitat:
Zitat von Lengen1971 Beitrag anzeigen
was ihr beide nicht bedacht habt ist, wenn ein Array wieder ein Array und wieder ein Array enthält. Dann geht die length-Methode eben nicht. Gibt immer 0 zurück.l
Nö, denn wenn ein Array ein Array enthält, ist es ganz gleich wieviele Arrays darin noch verschachtelt sind - die Länge ist dann mindestens 1.
__________________
mfg.
edding950 ist offline   Mit Zitat antworten
Alt 27-03-2007, 15:52   #14 (permalink)
industry painter
 
Benutzerbild von edding950
 
Registriert seit: Aug 2006
Ort: auf'm Pott
Beiträge: 760
Zitat:
Zitat von Lengen1971 Beitrag anzeigen
WO STEHT DA, DASS FLASH KEINE ASSOZ. ARRAYS KENNT ?? HÄ?
Steht nirgendwo - nur in Deinem Post. Und das ist falsch, da Flash assoziative Arrays kennt.
__________________
mfg.
edding950 ist offline   Mit Zitat antworten
Alt 27-03-2007, 16:26   #15 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.321
Zitat:
Zitat von Lengen1971 Beitrag anzeigen
WO STEHT DA, DASS FLASH KEINE ASSOZ. ARRAYS KENNT ?? HÄ?
weils so ist :-)))))))))

und @edding950 sorry, deine aussage ist falsch.


das was das assozieren ausmacht sind die key's. und genau sowas hat flash nicht - nicht für arrays.
wenn man die dinge bename't, dann wird, wie nun mehrmals geschrieben, von arrays auf objecte gewechselt (das ist seiten's flash nicht in ordnung - ist aber nunmal so).

alle dinger sind in flash vom type objecte abgeleitet. objecte ist die klasse, die am wenigsten kann.
arrays haben nicht nur die funktion length, sondern auch split, shift, push, sort usw. usf. das ist alles weg.

ergo: keine assoziativen arrays in flash.
ein array ist, wenn es sich wie ein array verhält. wer das nicht tut ist keins.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (27-03-2007 um 16:28 Uhr)
hgseib ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele