Diciamo che avete un oggetto JavaScript come questo:Come accedere alle proprietà di un oggetto javascript se non conosco i nomi?
var data = { foo: 'bar', baz: 'quux' };
È possibile accedere alle proprietà dal nome della proprietà:
var foo = data.foo;
var baz = data["baz"];
Ma è possibile ottenere questi valori se non si conosce la nome delle proprietà? La natura non ordinata di queste proprietà rende impossibile distinguerle?
Nel mio caso, sto pensando specificamente a una situazione in cui una funzione deve accettare una serie di coppie nome-valore, ma i nomi delle proprietà potrebbero cambiare.
I miei pensieri su come fare questo finora è passare i nomi delle proprietà alla funzione insieme ai dati, ma questo sembra un hack. Preferirei farlo con l'introspezione, se possibile.
Ora questo in realtà risponde alla domanda, ben fatta @Adam Lassek, molto ben fatta. –
È fuorviante usare sia 'nome' che 'valore' come chiavi oggetto. Questa funzione restituisce solo le chiavi in un elenco, non i valori. {name1: 'value1', name2: 'value2'} eviterà confusione per i principianti. Object.keys (dati); // ['name1', 'name2'] –
@JamesNicholson Sono d'accordo, modificato per essere meno confuso. –