Javascript get Свойство объекта Имя

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

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

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

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

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

var theTypeIs = myVar.key();

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

Ответ 1

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

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

Ответ 2

Как и другие ответы, вы можете сделать 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
    }
});

Ответ 3

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

var result = Object.keys(myVar); 

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