Diego.G.A Postado Janeiro 2, 2008 Denunciar Share Postado Janeiro 2, 2008 Eu gostaria de saber como faço para pegar o elemento anterior al elemento que eu especifico no meu array tipo.<script> var arr = new Array(4); arr['teste1'] = teste1; arr['teste2'] = teste2; arr['teste3'] = teste3; arr['teste4'] = teste4; </script>pronto eu especifico o elemento teste3mas eu queria saber com faço para pegar o elemento anterior dele nesse caso eu queria pegar os dois tipo.especifico o teste3 ai eu irei receber o resultado teste3 e teste2, como eu posso fazer isso. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fercosmig Postado Janeiro 2, 2008 Denunciar Share Postado Janeiro 2, 2008 você pode guardar o indice escolhido em uma variavel e depois mostrar o array[indice] e array[indice-1]se não for isto, detalha mais sua dúvida ae Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Diego.G.A Postado Janeiro 2, 2008 Autor Denunciar Share Postado Janeiro 2, 2008 tipo o meu JS é esse aqui:<script language="javascript" type="text/javascript"> <!-- function selecionaImg(img) { document.getElementById("foto").innerHTML = "<img src=\"../Galeria/loading.gif\">"; document.getElementById("foto").innerHTML = "<img src=\"../Galeria/"+ img +"\">"; } function imgs(img) { var arr = new Array(7); arr['mini_b091de3741c61db8b5aef54e82ad1dd6.jpg'] = "b091de3741c61db8b5aef54e82ad1dd6.jpg"; arr['mini_0a5bd6b49ed5c7adf0c7c13b5ac998cd.jpg'] = "0a5bd6b49ed5c7adf0c7c13b5ac998cd.jpg"; arr['mini_cd3326582f8f0f56f0b8ed5630aba894.jpg'] = "cd3326582f8f0f56f0b8ed5630aba894.jpg"; arr['mini_30b46a0d77d143818bd99b36c60c300f.jpg'] = "30b46a0d77d143818bd99b36c60c300f.jpg"; arr['mini_b04039daa65e1c17dc0b544671b53909.jpg'] = "b04039daa65e1c17dc0b544671b53909.jpg"; arr['mini_69ae5670041225e331318c6d623ba18c.jpg'] = "69ae5670041225e331318c6d623ba18c.jpg"; arr['mini_91d5ff66686fdd2fb01b2aaa3de1e932.jpg'] = "91d5ff66686fdd2fb01b2aaa3de1e932.jpg"; selecionaImg(arr[img]); } function passaValor(img) { var arr = new Array(7); arr['mini_b091de3741c61db8b5aef54e82ad1dd6.jpg'] = "b091de3741c61db8b5aef54e82ad1dd6.jpg"; arr['mini_0a5bd6b49ed5c7adf0c7c13b5ac998cd.jpg'] = "0a5bd6b49ed5c7adf0c7c13b5ac998cd.jpg"; arr['mini_cd3326582f8f0f56f0b8ed5630aba894.jpg'] = "cd3326582f8f0f56f0b8ed5630aba894.jpg"; arr['mini_30b46a0d77d143818bd99b36c60c300f.jpg'] = "30b46a0d77d143818bd99b36c60c300f.jpg"; arr['mini_b04039daa65e1c17dc0b544671b53909.jpg'] = "b04039daa65e1c17dc0b544671b53909.jpg"; arr['mini_69ae5670041225e331318c6d623ba18c.jpg'] = "69ae5670041225e331318c6d623ba18c.jpg"; arr['mini_91d5ff66686fdd2fb01b2aaa3de1e932.jpg'] = "91d5ff66686fdd2fb01b2aaa3de1e932.jpg"; var elem; for(var chave in arr) { if(chave == img) { var elem = chave; } } for(i=0;i<arr.length;i++) { if(arr[elem] == elem) { alert(i); } } } //--> </script> Na verdade isso ai vai ser uma galeria de umagens que o usuario click e a foto passa beleza. Certo agora eu chamo a função "passaValor()" que nela vai atribuida o nome da chave que mostra a imagem atual, certo ate ai mas eu queria saber os valores que estão na chave anterior e posterior a essa chave tipo e exemplo abaixo: <script> var arr = new Array(4); arr['teste1'] = teste1; arr['teste2'] = teste2; arr['teste3'] = teste3; arr['teste4'] = teste4; </script>pronto eu especifico o elemento teste3mas eu queria saber com faço para pegar o elemento anterior e posterior dele nesse caso eu queria pegar os três tipo.especifico o teste3 ai eu irei receber o resultado teste2, teste3 e teste4 como eu posso fazer isso.mas os valores que eu queria pegar não são os valores do array mas sim a chave dele. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 KaKarotto Postado Janeiro 2, 2008 Denunciar Share Postado Janeiro 2, 2008 Oi Diego tudo bom?Então eu posso estar errado, mas eu acho que não tem nenhuma maneira de referenciar por números no index se você usou uma string.Se você usou uma string para identificar um array, então o seu array não tem mais o conceito de anterior ou de posterior concorda? Olha:var arr=[]arr["nome"]=Eduardo"arr["idade]="23"arr["profissao"]="Programador"Qual vem antes de quem? Ninguém. Posso dar uma sugestão? Eu acho que cria arrays desnecessariamente, você poderia apenas criar o array das chaves assim:<script type="text/javascript"> key=[] key[0]="b091de3741c61db8b5aef54e82ad1dd6" key[1]="a5bd6b49ed5c7adf0c7c13b5ac998cd" key[2]="cd3326582f8f0f56f0b8ed5630aba894" key[3]="30b46a0d77d143818bd99b36c60c300f" key[4]="b04039daa65e1c17dc0b544671b53909" key[5]="69ae5670041225e331318c6d623ba18c" key[6]="91d5ff66686fdd2fb01b2aaa3de1e932" function verificaChave(k){ for(prp in key) if(key[prp] == k.split("_")[1]) return prp return false } numero=verificaChave("mini_b04039daa65e1c17dc0b544675b53909") if(numero) alert(numero) </script> Percebe? a função verificaChave retorna o valor do array numerico, caso achar a chave. Dessa forma você poderia acessar o termo seguinte e anterior fazendo assim: alert(key[numero+1]) // posterior alert(key[numero-1]) // anteriorvocê pode criar uma função pra criar os minis é simples, e também teria que criar uma função para tratar o overflow do array pois caso o numero volte como 6, então 6+1 é 7 e o "key[7]" não existe.Com o array key contendo só os valores das chaves, você pode criar uma função que adiciona facilmente o array com valores novos. A função verificaChave funcionaria com teoricamente infinitos valores de "key".Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Diego.G.A
Eu gostaria de saber como faço para pegar o elemento anterior al elemento que eu especifico no meu array tipo.
pronto eu especifico o elemento teste3
mas eu queria saber com faço para pegar o elemento anterior dele nesse caso eu queria pegar os dois tipo.
especifico o teste3 ai eu irei receber o resultado teste3 e teste2, como eu posso fazer isso.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
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.