2011-05-20 17 views
6

[¿Cómo] puedo lograr lo siguiente?dinámicamente seleccione un atributo de objeto javascript

var object = new Object(); 
object.field1 = "test1"; 
object.fiedl2 = "test2"; 

function showSpecificField(fieldName){ 
    //get the field Name passed in to function from object 
    //something like: return object.fieldName ??? 
} 

alert(showSpecificField("field2"));// should alert the text "test2" 

alert(showSpecificField("field1"));// should alert the text "test1" 

Respuesta

10

Uso square bracket notation

var baz = 'bar'; 
foo['bar'] === foo.bar === foo[baz] 
+0

WOOT! +5 :) http://jsfiddle.net/kralco626/NHqUu/1/ – kralco626

+0

¡Gracias! - Tengo que esperar otros 10 minutos para aceptar tu respuesta ... entonces tendré el representante "999", eso es genial ... aunque ser capaz de tener exactamente 1000 sería más genial ... – kralco626

+0

por curiosidad, ¿hay alguna ventaja de usar 'foo.bar' sobre' foo ["bar"] '? – kralco626

Cuestiones relacionadas