Problema com map javascript [RESOLVIDO]

pessoal, boa tarde!

Estou tentando usar um map javascript, porem preciso que o nome da chave seja uma variavel, exemplo:

var chave = “minha_chave”;
var objeto = “um objeto qualquer”;
var map = {chave : objeto};

alguem sabe se eh possivel fazer algo assim?

OBS: esse codigo que eu coloquei nao funciona. rss

De uma forma rápida?? com gambiarra :smiley:

var chave = "minha_chave"; var objeto = "um objeto qualquer"; var map = null; eval("map = {" + chave + " : '" + objeto + "' } ");

Agora esse código funciona :smiley:

mas fiquei até sem jeito de estar te ensinando isso :oops:

o pessoal lutando para abolir o uso do eval() e eu tentando ajudar com algo ruim :frowning:

Ufa, depois de pesquisar, encontrei o jeito certo de fazer :smiley:

var map = new Object(); map["minha_chave"] = "um objeto qualquer"; console.log(map); console.log(map.minha_chave);

agora funfa!
testa ai no console do firebug pra vc ver :wink:

eae thiagão, beleza cara?!?! mais uma vez obrigado pelas dicas!

entao, acabei resolvendo usando array em vez de map

// assim funciona
map = {“nome_da_chave”: “objeto_qualquer”}

//assim nao funciona
var v = “nome_da_chave”;
map = {v : “objeto_qualquer”}

so que meu problema é que o nome da chave eh uma variavel, e o javascript nao aceita passar a variavel como nome, mas com array vai de boa, entao:
var v = “nome_da_chave”;
array[v] = “objeto_qualquer”;

falta de pensar um pouco. vespera de feriado prolongado eh assim mesmo! kkkk

um grande abraço

E aii Mauricio! blz!!!

Em js as propriedades e Arrays estão relacionados!

na verdade, um array tem um indice numerico = [0,1,2,3,…]
e os indices alfanumericos = array[“nome_da_chave”] são na verdade propriedades do objeto array e podem ser referenciados desse jeito tambem: array.nome_da_chave

repare que o inverso não é verdadeiro… tipo isso:
array.1 // para pegar o elemento no indice 1 do array
nao funciona!!!

se vc der um comando tipo esse no firebug: console.log(array);
vc vai ver que ele vai te mostrar um array sem nenhum indice ( array = [] ) e com uma propriedade chamada nome_da_chave tipo isso:

console.log(array);
te retorna isso:

tanto é que se vc fizer esse teste no firebug: console.log(array.nome_da_chave);
vai ver que ele te retorna o valor do atributo :smiley: