Sie brauchen dafür keine Funktion - verwenden Sie einfach die Klammerschreibweise :
var side = columns['right'];
Dies ist gleichbedeutend mit Punktnotation , var side = columns.right;
mit Ausnahme der Tatsache, dass right
kann auch von einer Variablen, einem Funktionsrückgabewert usw. stammen, wenn die Klammerschreibweise verwendet wird.
Wenn Sie eine Funktion dafür brauchen, hier ist sie:
function read_prop(obj, prop) {
return obj[prop];
}
Um einige der unten stehenden Kommentare zu beantworten, die nicht direkt mit der ursprünglichen Frage zusammenhängen, können verschachtelte Objekte durch mehrere Klammern referenziert werden. Wenn Sie ein verschachteltes Objekt wie dieses haben:
var foo = { a: 1, b: 2, c: {x: 999, y:998, z: 997}};
können Sie auf Eigentum zugreifen x
de c
wie folgt:
var cx = foo['c']['x']
Wenn eine Eigenschaft undefiniert ist, gibt der Versuch, auf sie zu verweisen, Folgendes zurück undefined
(nicht null
o false
):
foo['c']['q'] === null
// returns false
foo['c']['q'] === false
// returns false
foo['c']['q'] === undefined
// returns true