Bem eu criei um array que tem a paginas e quantidade do index que pode ser lida, onde gera aleatoriamente um valor que gera o resultado no meu caso links de paginas .
O meu outro array var valores = []; recebe o valor da variavel var rioky; que recebe o valor da comparação se o valor existir.
a função function verificar() comparar com um for isso, e se valores possuir o valor dentro de ryoky que recebe minha outra função então compara se existir nas duas a mesma ele imprime a mensagem, se não ele coloca dentro de valor = []; e ainda exibe a mensagem.
A logica está corretar mas não entendo por que não funciona.
<script>//document.write('<a href="'+image+'" data-toggle="tab" onclick="" ></a>');//Globalusevarcount=0;varvalores=[];//vetorqueguardaaspaginasquejáseforamvarrioky;varleveluser=1;functionazul(){varlinkht;varpagenum=4;pages=newArraypages[1]="#home"pages[2]="#question_02"pages[3]="#question_03"pages[4]="#question_04"//Aleatoriedadedaspaginasvarrandomnumber=Math.random();varrand1=Math.round((pagenum-1)*randomnumber)+1;linkht=pages[rand1];returnlinkht;}rioky=azul();functionverificar(){for(vari=0;i<parseInt(valores.length);i++){if(String(rioky)==String(valores[count])){//console.log("valor já utilizado"+valores[count]);azul();break;}else{//console.log("valor ainda não utilizado");valores.append(ryoky);returnrioky;}count+=1;}console.log(rioky);}</script><script>document.write(verificar());</script>
Sinceramente, não deu pra entender direito o que é pra fazer.
Talvez se vc fizer alguns exemplos com valores fixos (como valores = ['a', 'b', etc]) só pra gente poder testar, pois no seu código não dá nem pra saber quais valores o array valores tem.
Mas aproveitando, não precisa fazer parseInt(valores.length). O length de um array sempre é um número, então pode usar apenas valores.length.
A
Anoizhenrique29
Então no caso o conceito é basicamente o seguinte, guardo os links em um array que fica dentro de uma função, dai pego o retorno da função.
ryouk = azul() ;
o gerador aleatório está funcionando já adentro da função. Meu problema é o seguinte agora o meu for da função de comparação que não funciona. Vejamos:
functionverificar(){for(vari=0;i<parseInt(valores.length);i++){if(String(rioky)==String(valores[count])){//console.log("valor já utilizado"+valores[count]);azul();break;}else{//console.log("valor ainda não utilizado");valores.append(ryoky);returnrioky;}count+=1;}console.log(rioky);}
O conceito desse código acima é pegar o valor do meu array e comparar se existe dentro de valores = []; se sim, então vai dizer que já tem. Se não vai adicionar o valor dentro do array valores=[];
H
hugokotsubo
Mas eles são o que, strings? Se for, não precisa fazer String(valores[count]). Aliás, de onde surgiu esse count?
Enfim, se rioky também for string, bastaria fazer algo do tipo:
if(valores.includes(rioky)){// se rioky está no array valoresazul();}else{valores.push(rioky);// adiciona rioky no array}
A
Anoizhenrique29
no caso count é uma global que no caso seria o index da função do for pra andar no array valores = [];
Mas eles são o que, strings? Se for , não precisa fazer String(valores[count]) . Aliás, de onde surgiu esse count ?
sim são string
A
Anoizhenrique29
funcionou , porém o meu array de cima coloca todos os valores de uma vez não teria como pegar apenas um já tentei mas não ta indo nehum metodo de escolha de apenas um tem alguma sugestão ?
rioky=linkht;if(valores.includes(rioky)){//seriokyestánoarrayvaloresalert(“Existe”);azul();
}else{
valores.push(rioky); // adiciona rioky no arrayalert(“Nãoexiste”);
}
}
H
hugokotsubo
De novo: não dá pra entender o que vc quer. Qual array de cima? O pages? O que é “colocar todos os valores de uma vez”? Colocar o que e onde (e quando)?
A
Anoizhenrique29
Então ele me retorna o valor de todas as condições do array, porém quero apenas um unico valor para ser atribuido a ryoku, mas está passando o valor de todos os items do array. Gerando varios alerts.