2016-05-02 5 views
0

gespeichert wird Ich beschäftige mich derzeit mit diesem Problem. Ich habe ein assoziatives Array imageDict = {}. Der Schlüssel zu diesem imageDict ist ein anderes Objekt namens image und Wert ist noch ein assoziatives Array, mit String als Key und Array als Wert. Also imageDict [image] = {} und imageDict [Bild] ["String"] = [].Zugriffsschlüssel im assoziativen Array, das in der Variablen

Das Problem, das ich habe, ist, dass der Schlüssel Bild ist ein Objekt mit einigen Schlüssel/Wert gespeichert darin zum Beispiel aswell, Breite, Höhe, oben, links und so weiter. Und irgendwann speicher ich imageDict [image] in var animationQueue und sende es als Parameter an function animation (animationQueue), wo ich auf seine Werte als animationQueue ["string"] .... Aber was ich möchte zu tun ist auch Zugriff auf die Key Bild, die in animationQueue seit animationQueue = imageDict [Bild] versteckt ist und ändern Sie einige seiner Werte. Ist es möglich, dies zu tun?

+0

Was ist der Sinn zu versuchen, ein Objekt als Schlüssel zu verwenden. Warum fügen Sie den Wert nicht einfach als separate Eigenschaft in das Objekt ein. Wenn Sie müssen .. dann verwenden Sie Maps, die alles als Schlüssel oder Wert nehmen würde. – Redu

+0

Es war nur die Art, wie ich meinen Code aufbaute und darauf aufbaue, bis ich zu diesem Problem kam. Und bevor ich meinen Code ändere, wollte ich wissen, ob es einen einfacheren Weg dafür gibt. Aber es scheint, dass es nicht ist. – Yondaru

Antwort

1

Wenn Sie auf das Bildobjekt zugreifen müssen, geben Sie es als zweiten Parameter an Ihre Funktion function animation(animationQueue, image) weiter oder können Sie die Animationsfunktion nicht ändern? Ich glaube nicht, dass es eine Möglichkeit gibt, den Wert eines assoziativen Arrays an eine Funktion zu übergeben, so wie Sie es sind, und an den Wert, um den Schlüssel aus dem Wert zu erhalten. Der Wert speichert nicht inhärent einen Verweis auf den Schlüssel.

+0

Es gibt sicherlich einen Weg, die Funktion zu ändern, aber ich wollte sicher sein, bevor ich etwas Wichtiges geändert habe. – Yondaru

Verwandte Themen