Problema Map em Javascript

2 respostas
jeovane.reges

Olá a todos, boa tarde.
Pessoal estou tentando criar um Map (Map em java) em javascript, onde as chaves e os valores são adicionados dinamicamente, no entanto, quando tento "cria-los" de maneira dinâmica sempre acaba dando erro.

Tento criá-los a partir do seguinte código.
var key;
var value;
$(".conteudoMenu a").click(function(){
    // Obtenhos os valores das Keys
    key = $(this).parent(".conteudoMenu").parent("li").find(".itemMenu").attr("id");
   // Obtenho os valores do Values
    value = $(this).attr("id"); 

    // Método que chamo para adicionar as keys e os values
    Processar({ key : [value] });
});

var Processar = function(mapaDeListas) {
  // mapaDeListas[key] -> Cria o array com o nome da Key
  // Verifica se  existe chave vinda do "key" e se o valor de "value" está presente no array
  if (mapaDeListas[key] && $.inArray(value, mapaDeListas[key]) == -1) {  
     // Caso o array com o nome da key  exista e o valeu não, então, ele adicionar o value a sua respectiva key 
     mapaDeListas[key].push(value);
    }
    else {
        // Caso a condição acima seja false, então, cria-se o array de acordo com o valor da "key" e adiciona o valor de "value"
        mapaDeListas[key] = [value];
    }
}
No entanto, da maneira que meu codigo estar, mesmo que eu adicione dois valores pertencente a mesma Key, ele sempre cai no else além de sobrescrever os valores já existentes. E caso eu adicione uma Key nova em vez de ser criado um novo array o que acontece é que este novo sobrescreve o anterior.

Alguém sabe me dizer o que devo fazer para corrigir o meu código?
Desde de já obrigado pela ajuda de todos.

2 Respostas

War_Paz

http://www.guj.com.br/forums/show/26.java

Está postando no fórum errado, amigo

jeovane.reges

Obrigado.
Postei no correto agora.

Criado 26 de janeiro de 2013
Ultima resposta 26 de jan. de 2013
Respostas 2
Participantes 2