Javascript получить имя свойства объекта


Я передал следующий объект:

var myVar = { typeA: { option1: "one", option2: "two" } }

Я хочу иметь возможность вытащить ключ typeA из приведенной выше структуры.

это значение может меняться каждый раз, так в следующий раз это может быть typeB.

поэтому я хотел бы знать, есть ли способ для меня сделать что-то вроде следующего псевдо-кода:

var theTypeIs = myVar.key();

таким образом, когда я могу сдать этот объект, и я могу вытащить первое значение объекта, в данном случае это typeA и потом на что я могу делать разные вещи с option1 и option2.

3 61

3 ответа:

Если вы точно знаете, что всегда будет ровно один ключ в объекте, то вы можете использовать Object.keys:

theTypeIs = Object.keys(myVar)[0];

Как и другие ответы, вы можете сделать theTypeIs = Object.keys(myVar)[0]; чтобы получить первый ключ. Если вы ожидаете больше ключей, вы можете использовать

Object.keys(myVar).forEach(function(k) {
    if(k === "typeA") {
        // do stuff
    }
    else if (k === "typeB") {
        // do more stuff
    }
    else {
        // do something
    }
});

Если вы хотите получить ключ имя myVar объект, то вы можете использовать Object.keys() для этой цели.

var result = Object.keys(myVar); 

alert(result[0]) // result[0] alerts typeA