en Python que podía hacer algo así como myMap = {key: [value1, value2]}
y luego acceder a la value2
usando myMap[key][1]
Javascript gama Asociado
¿Puedo hacer algo como esto en javascript?
en Python que podía hacer algo así como myMap = {key: [value1, value2]}
y luego acceder a la value2
usando myMap[key][1]
Javascript gama Asociado
¿Puedo hacer algo como esto en javascript?
Bueno, se puede hacer esto:
var myMap = { key: [ value1, value2 ] };
var array = myMap.key; // or myMap["key"]
JavaScript no tiene un tipo de "matriz asociativa", que combina "mapa" comportamiento con el comportamiento matriz como mantener un registro del número de propiedades. Por lo tanto, lo más común es usar un objeto simple. En JavaScript moderno ahora (2017), hay una instalación explícita Map
que permite que las claves sean de cualquier tipo, no solo cadenas como cuando se usan objetos simples.
JavaScript es un poco tonta sobre la notación literal de objetos, ya que no le permitirá utilizar palabras reservadas para las llaves a menos que ocurra la referencia:
var myMap = { 'function': 'hello world' };
La sintaxis cita permite cualquier cadena que se utilizará como un nombre de propiedad. Para acceder a estas propiedades, tendrá que utilizar el operador [ ]
console.log(myMap["function"]); // "hello world"
Sí, y la sintaxis es casi lo mismo también.
var myMap = {key: ["value1", "value2"]};
alert(myMap["key"][1]); // pops up an alert with the word "value2"
También puede utilizar la siguiente notación:
myMap.key[1]
Respuesta corta ... sí ...
var m = { Foo : ["Bar", "Baz"] };
alert(m.Foo[0]);
alert(m["Foo"][1]);
Es de hecho.
var myMap = {london: ['clapham', 'chelsea'], bristol:['clifton', 'redland']}
alert(myMap.london[0]);
alert(myMap['bristol'][1]);
ver este ejemplo en jsFiddle
Puede utilizar Map:
var myMap = new Map();
myMap.set('key','Value');
var res = myMap.get('key');
console.log(var); // Result is: 'Value'
se declara un objeto no conjunto! –
@SuhaybKharabsheh ?? ¿Derecha? Las matrices de JavaScript no deben usarse cuando desee nombres de propiedades no numéricos (a menos que tenga una razón realmente buena). – Pointy