Ir para conteúdo
Fórum Script Brasil
  • 0

Problema com Map em Javascript


Jeovane

Pergunta

Olá a todos, boa tarde.

Pessoal estou tentando criar um Map (Map<k,v> 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 já 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 já 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.

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...