2015-08-25 10 views
5

Come posso ottenere il valore di un oggetto con una chiave singola sconosciuta?Ottieni il valore di un oggetto con una chiave singola sconosciuta in JS

Esempio:

var obj = {dbm: -45} 

voglio ottenere il valore -45 senza sapere che è la chiave.

So che posso eseguire il loop sui tasti oggetto (che è sempre uno).

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

Ma mi piacerebbe sapere se esiste una soluzione più pulita per questo?

risposta

8

Object.keys potrebbe essere una soluzione:

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

Le differenze tra per-in e Object.keys è che Object.keys restituisce tutte le proprie nomi chiave e per-in può essere utilizzato per iterare su tutto nomi di chiavi propri ed ereditati di un oggetto.

Come James Brierley commentato di seguito è possibile assegnare una proprietà sconosciuta di un oggetto in questo modo:

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

Ma bisogna tenere a mente che l'assegnazione di una proprietà che restituisce il nome Object.keys chiave in un certo ordine di potrebbe essere soggetto a errori.

+2

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

Problemi correlati