2010-11-06 9 views
6

Tengo una matriz de la siguiente manera. ¿Cómo recuperaría el valor de una clave específica y pondría ese valor en una variable?¿Cómo devolver un valor de un objeto literal basado en una clave?

var obj = {"one":"1","two":"3","three":"5","four":"1","five":"6"}; 

Así, por ejemplo si quiero obtener el valor de "tres" ¿Cómo voy a hacerlo en javascript o jQuery?

+2

Eso no es una matriz; eso es un objeto literal. – strager

+1

Gracias por la aclaración sobre esto. – user357034

Respuesta

10

Usted puede hacer esto a través de dot o bracket notación, como esto:

var myVariable = obj.three; 
//or: 
var myVariable = obj["three"]; 

En el segundo ejemplo "three" podría ser una cadena en otra variable, que es probablemente lo que está buscando. Además, para mayor claridad lo que tienes es sólo un objeto, no una matriz :)

+0

Nada más que amor por ti Nick, :) – user357034

+0

¿Puedo hacerte una pregunta complementaria? Digamos que la clave que quiero buscar es una variable. ¿Sería este var mmyVariable = obj [key_that_I_am_looking_for]; – user357034

+0

@ user357034 - sí, exactamente –

2

Aquí es una solución (por la forma en que esto no es un objeto una matriz):

var obj = {"one":"1","two":"3","three":"5","four":"1","five":"6"}; 
var myFunc = function(thisObj, property) {console.log(obj[property])}; 
myFunc(obj, "two"); 
//Output will be 3 

También puede hacer esto más fácilmente usando la función _.pluck de la biblioteca Underscore JS.

Cuestiones relacionadas