2010-06-03 16 views

Respuesta

81

Bueno cualquiera de las funciones objeto de JavaScript especie de como un "mapa"

randomObject['hello'] = 'world'; 

Por lo general las personas a construir objetos simples con el propósito:

var myMap = {}; 

// ... 

myMap[newKey] = newValue; 

edición — así el problema de tener una La función explícita de "poner" es que luego tendría que esforzarse para evitar que la función parezca parte del mapa. No es realmente una cosa Javascripty para hacer.

13 Feb 2014 — moderna Javascript facilities para la creación de propiedades de los objetos que no son numerables, y es bastante fácil de hacer. Sin embargo, sigue siendo el caso que una propiedad "put", enumerable o no, reclamaría el nombre de la propiedad "put" y la dejaría no disponible. Es decir, solo hay un espacio de nombre por objeto.

+1

Correcto, me refiero a un "mapa" de JavaScript. ¿cómo construirías una función myMap.put()? – stevebot

+1

@stevebot: ¿La última línea de su publicación no hace exactamente eso? –

+0

Bien, te escucho. Puedo hacer myMap [anyKey] = anyValue y esto funciona para mí. ¡Gracias! – stevebot

11

Javascript ahora tiene una específica construida en objeto llamado mapa, puede llamar de la siguiente manera:

var myMap = new Map() 

Puede actualizarlo con .set:

myMap.set("key0","value") 

Esto tiene la ventaja de que los métodos puede usar para manejar búsquedas, como el booleano .has

myMap.has("key1"); // evaluates to false 

Puede usar esto antes de llamar a .get en su objeto Map para manejar la búsqueda de claves inexistentes

Cuestiones relacionadas