este es mi codigo, pero falla, mi pregunta es como implementar hashmap en javascript function Map() {
this.keys = new Array();
this.data = new Object();
this.datos = new Array();
this.put = function (key, value) {
if (this.data[key] == null) {
this.keys.push(key);
}
datos.push(value);
this.data[key] = datos;
};
this.get = function (key) {
return this.data[key];
};
}
quiero que cada llave tenga un arreglo de datos
Hola, javascript ya implementa Map (https://developer.mozilla.org/es/docs/Web/javascript/Referencia/Objetos_globales/Map).
El problema de la línea 11 es un problema de contextos, el clousure (función anónima) que le asignas a this.put en la línea 7 no comparte el contexto que Map, si bien Java Script funciona con objetos, estos se crean a partir de prototipos, no de clases.
El tema de los clousures los trata en detalle la biblioteca de Mozilla (https://developer.mozilla.org/es/docs/Web/javascript/Closures).
La solución por tanto es llamar con this. a la variable datos en las líneas 11 y 12.
Saludos
la clase de javascript Map no permite para tener de valor un arreglo o si?
lo que pretendo hacer es hashMap<String,ArrayList<String>> en java
muchas gracias por ayudarme
saludos...
Lo que buscas, es un objeto, sin más.
var obj = {};
obj.hola = "asd";
console.log(ob.hola);
console.log(obj["hola"]);
Son pares cadena-valor. El valor, puedes se run array, objeto o lo que quieras.
(http://i1336.photobucket.com/albums/o646/alejrod872/Curso%20JavaScript/CU01112E_1_zpsae83637c.png?t=1396371889)
listo gracias, pense que tenia que implementarlo desde cero el hashmap, ahora solo lo usare, gracias
saludos...