Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Mensaje iniciado por: .rn3w. en 25 Agosto 2016, 06:04 AM

Título: hash map en javascript
Publicado por: .rn3w. en 25 Agosto 2016, 06:04 AM
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
Título: Re: hash map en javascript
Publicado por: flacc en 25 Agosto 2016, 19:50 PM
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
Título: Re: hash map en javascript
Publicado por: .rn3w. en 25 Agosto 2016, 20:39 PM
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...
Título: Re: hash map en javascript
Publicado por: ivancea96 en 25 Agosto 2016, 20:41 PM
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.
(http://i1336.photobucket.com/albums/o646/alejrod872/Curso%20JavaScript/CU01112E_1_zpsae83637c.png?t=1396371889)
Título: Re: hash map en javascript
Publicado por: .rn3w. en 25 Agosto 2016, 21:18 PM
listo gracias, pense que tenia que implementarlo desde cero el hashmap, ahora solo lo usare, gracias

saludos...