2012-06-05 32 views
8

Tengo un objeto de diccionario de JavaScript que tiene un claves preestablecidas que están de forma predeterminada con 0. Entonces necesito colocar a través de los elementos de este diccionario por índice de y utilizar el valor de la clave para establecer su valor. A continuación se muestra el código para hacer las cosas más fáciles de entender:Obtener valor de la clave de diccionario por el índice de jQuery

var _map = { 
    'severity-normal': 0, 
    'severity-minimal': 0, 
    'severity-moderate': 0, 
    'severity-severe': 0, 
    'severity-highly-severe': 0 
}; 

    mapSeverities: function() { 
     for (var i = 0; i < _map.length; i++) { 
      //get the key value, ex: severity-normal, by index (which would by i) 
      var key = //retrieved key value 
      _map[key] = this.data(key); 
     } 
    } 

En otras palabras, supongamos que estamos tratando con C#, quiero conseguir el KeyValuePair en un determinado índice, a continuación, acceder a sus propiedades Key y Value.

¿Alguna sugerencia?

+0

objetos no tienen órdenes de índice en JavaScript, por lo que 'length' no estará disponible a menos que utilice un' Array' vez . – David

Respuesta

7

Para _map objeto, se debe utilizar for .. in.

for (var key in _map) { 
    _map[key] = this.data[key]; 
} 
28

También puede utilizar $.each como esto

$.each(_map, function(key, value) { 
    // key is the key 
    // value is the value 
}); 

Working Fiddle

Cuestiones relacionadas