2015-08-25 12 views
5

Jak mogę uzyskać wartość obiektu o nieznanym pojedynczym kluczu?Uzyskaj wartość obiektu o nieznanym pojedynczym kluczu w JS

Przykład:

var obj = {dbm: -45} 

Chcę uzyskać wartość -45, nie wiedząc, że to klucz.

Wiem, że mogę zapętlić klucze obiektu (który jest zawsze jeden).

for (var key in objects) { 
    var value = objects[key]; 
} 

Ale chciałbym się dowiedzieć, czy istnieje do tego bardziej przejrzyste rozwiązanie?

Odpowiedz

8

Object.keys może być rozwiązanie:

Object.keys({ dbm: -45}); // ["dbm"] 

Różnice za-in i Object.keys że Object.keys zwraca wszystkie własne nazwy klawiszy i za-IN może być używany do iteracji ponad wszystko własne i odziedziczone kluczowe nazwy obiektu.

James Brierley skomentował poniżej można przypisać nieznaną właściwość obiektu w ten sposób:

var obj = { dbm:-45 }; 
var unkownKey = Object.keys(obj)[0]; 
obj[unkownKey] = 52; 

Ale trzeba pamiętać, że przypisanie właściwość, że Object.keys zwraca nazwę klucza w jakimś celu może być podatna na błędy.

+2

'obj [Object.keys (obj) [0]]' –

Powiązane problemy