Hallo,
Ich definiere einen Array:
var arr = {ein:1,zwei:2,drei:3,vier:4};
Ich wandle diesen in ein Objekt um, damit
ich mit dem Framework "Prototype" arbeiten
kann:arr = $A(arr);
Das ist schonmal der Fehler. $A (argument) funktioniert nämlich nur in 2 Fällen:
-
argument besitzt eine Methode toArray, die ein Array zurückgibt. Dein Objekt besitzt keine derartige Methode.
-
argument besitzt eine Eigenschaft length und erlaubt den Zugriff über argument[i] (was nicht notwendigerweise ein Objekt des Typs Array sein muss). Dann wird ein neues Objekt vom Typ Array erzeugt und alles rüberkopiert.
$A(beliebiges_objekt) funktioniert dagegen nicht - es wird Dir immer eine leere Liste zurückgeben. Ich weiß nicht, ob prototype eine entsprechende Methode für beliebige Objekte anbietet, ansonsten bliebe noch so etwas wie (ungetestet):
zielArray = [];
for (var key in arr) {
/* oder irgendwas ähnliches, keine Ahnung, was genau in Deinem Ziel-
Array stehen soll */
zielArray.push (arr[key]);
}
Dann kannst Du mit zielArray anstellen, was Du willst.
Viele Grüße,
Christian
"I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup