seth: (pseudo-)assoziative arrays in javascript: naming collisions mit methoden

Beitrag lesen

gudn tach!

Es kommt auf die eigentliche Aufgabenstellung an. Das Problem tritt doch nur auf, wenn key kein bekannter konstanter Wert ist, also aus einer unbekannten Quelle kommt.

genau. das ist bei mir der fall. der key kommt aus einem freitextfeld. (im minimalbeispiel hattee ich das vernachlaessigt, weil es mir um den allgemeinen fall ging.)

In dem Fall ist etwas mehr Aufwand nötig, um ihn für alle Werte sicher einsetzen zu können.

meinst du damit den check mittels hasOwnProperties() oder noch mehr aufwand als das?

Map

Ja, Map gibt es auch. Wenn man nur einen einfachen Key-Value-Speicher braucht, kann man das nehmen. Objekte haben noch andere Eigenschaften. Das muss man für seinen konkreten Fall klären, was da sinnvoller ist.

gesucht war in meinem fall eine entsprechung eines hashes (in perl) bzw. einer map (in c++). dafuer scheint mir Map eher zu passen.

interessant finde ich auch die loesung, die kai345 vorschlaegt.

ah, das const, bezieht sich nur auf die oberste ebene des objekts und nicht auf die properties, ok. finde ich nicht intuitiv, aber gut zu wissen.

Muss aber so sein. Man kann nicht garantieren, dass alle Unterelemente konstant bleiben. Man kann ja beliebig Referenzen auf diese erstellen, beziehungsweise die Referenzen können schon existieren. Darüber kann man die Unterlemente ändern.

naja, in c++ ist es halt anders. wenn ich da ein objekt als const bezeichne, dann sind auch grundsaetzlich dessen eigenschaften fixiert.

prost

seth