hash map en javascript

Iniciado por .rn3w., 25 Agosto 2016, 06:04 AM

0 Miembros y 1 Visitante están viendo este tema.

.rn3w.

este es mi codigo, pero falla, mi pregunta es como implementar hashmap en javascript
Código (javascript) [Seleccionar]
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

flacc

Hola,  javascript ya implementa 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.

La solución por tanto es llamar con this. a la variable datos en las líneas 11 y 12.

Saludos

.rn3w.

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...

ivancea96

Lo que buscas, es un objeto, sin más.
Código (javascript) [Seleccionar]
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.

.rn3w.

listo gracias, pense que tenia que implementarlo desde cero el hashmap, ahora solo lo usare, gracias

saludos...