Abrufen von benutzerdefinierten Objekteigenschaften durch Zeichenfolgenvariable [duplicate]

Lesezeit: 1 Minute

Benutzer-Avatar
Jay-Nicolas Hackleman

Mögliches Duplikat:

Javascript-Objekt, Zugriffsvariableneigenschaftsname?

Ich versuche, in meinem JS weiterzukommen …

Ich habe ein benutzerdefiniertes Objekt:

Object myObject = new Object();

myObject.thing = anythingHere;

Ich möchte in der Lage sein, eine benutzerdefinierte Objekteigenschaft abzurufen, indem ich eine Zeichenfolge übergebe … zB:

var propertyString = 'thing';
alert(myObject.propertyString);

Das kann ich nicht so recht nachvollziehen. Ich habe mir eine Reihe von Tutorials für benutzerdefinierte Objekte angesehen – aber nichts zeigt, wie man Eigenschaften erhält, deren Namen ich nicht kenne … Außerdem möchte ich vermeiden, wenn möglich alle Eigenschaften zu durchlaufen …

Vielen Dank!!!

Einfach verwenden myObject['thing'].

  • warum myObject.thing ruft den Wert nicht ab?

    – DB

    19. September 2016 um 2:51 Uhr

  • Denn in diesem Kommentar ist “Ding” eine Zeichenfolge (in Anführungszeichen gesetzt).

    – Rauben

    19. Oktober 2016 um 8:11 Uhr

  • Wenn Sie möchten, dass etwas für verschachtelte Objekte funktioniert, können Sie lodash so etwas wie _.map ([object]_.property(propertyPfad))[0]; würde funktionieren.

    – Bobwah

    23. März 2017 um 10:24 Uhr

  • @DB Der Grund, warum myObject.thing nicht funktioniert, ist, weil Ding wird bei Verwendung der ‘Punkt’-Syntax als Eigenschaft von myObject angenommen. Um Javascript zu behandeln Ding als Variable müssen Sie verwenden [] Syntax.

    – Ricantherun

    17. April 2017 um 15:00 Uhr


Du könntest benutzen:

myObject[propertyString] ;

  • warum myObject.thing ruft den Wert nicht ab?

    – DB

    19. September 2016 um 2:51 Uhr

  • @DB Weil diese Notation nach einem attributierten Namen sucht thing.

    – JCarlosR

    31. März 2021 um 16:50 Uhr

1238710cookie-checkAbrufen von benutzerdefinierten Objekteigenschaften durch Zeichenfolgenvariable [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy