2017-01-02 8 views
1

Nur lernen JS und ich arbeite durch einige Tutorials. Ich bin auf eine Frage gestoßen, die ich nicht lösen konnte. Die Frage lautet:Zugriff auf den Wert einer Eigenschaft eines Objekts mit einer Funktion in Javascript?

Schreiben Sie eine Funktion mit der Bezeichnung getValue(). Es sollte zwei Eingaben machen: eine object und eine key. Es sollte die entsprechende value für diese key innerhalb der object zurückgeben. Beachten Sie, dass dies eine einzeilige function sein sollte.

Ich weiß, dass Sie dies mit objectName.property zugreifen können, aber ich habe nicht herausfinden konnte, wie diese function innerhalb eines zu tun.

Nochmals sehr neu zu JS. Jede Hilfe würde sehr geschätzt werden!

+1

Sie stehen vor der Eigenschaft Accessor. –

+0

Werfen Sie einen Blick auf die Klammer-Syntax, um auf Objekteigenschaften zuzugreifen. – Sirko

+0

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Property_Accessors wie Nina sagte. So etwas würde reichen: https://jsfiddle.net/u3dtskx4/. Denken Sie daran, zu überprüfen, ob der Schlüssel im Objekt vorhanden ist, andernfalls wird ein Fehler ausgegeben. – briosheje

Antwort

5

Grundsätzlich müssen Sie einen function mit einem Namen, der

ist
function getValue() { 
} 

Dann legen Sie die Parameter benötigen, wie object und key, die im Kopf der Funktion geschrieben werden.

function getValue(object, key) { 
} 

Danach müssen Sie return etwas. Dies stoppt auch die Funktion.

function getValue(object, key) { 
    return; 
} 

Endlich, müssen Sie den Wert aus dem Objekt mit einem property accessor mit Klammer-Notation, nehmen sie das Objekt und eine Variable oder einen Wert für den Schlüssel, wie

object[key] 

und zusammen in die Funktion, Sie erhalten dann

function getValue(object, key) { 
    return object[key]; 
} 

im Fall Sie einen Schlüssel liefern, die nicht in dem Objekt ist, erhalten Sie undefined als Ergebnis.

+0

Wie ich bereits erwähnt habe, '|| null 'ist nicht erforderlich. 'return object [key]' ist mehr als genug, da 'false' oder' 0' gültige Werte sein können und '|| null 'wird andere Probleme verursachen. Als generische Funktion sollten wir versuchen, die Datenverarbeitung auf ein Minimum zu beschränken. – Rajesh

+1

@Rajesh, du hast Recht. das "null" war nicht von mir, tut mir leid. –

+0

Yup. Habe gerade den Bearbeitungsverlauf gesehen. Auch schön erklärt. Auch wenn Sie frei sind, sollten Sie "WARUM" hinzufügen. Es gibt viele Fälle, in denen SO die Lösung bereitstellt und die Leute sie nutzen, ohne den Grund dafür zu kennen. Ich habe Leute gesehen, die 'var a = []; data.map (x => {a.push (x)}) ' – Rajesh

Verwandte Themen