Dúvida sobre math.random

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Dúvida sobre math.random Empty Dúvida sobre math.random

Mensagem por Connor R. Ontem à(s) 1:53

Detalhes da questão


Endereço do fórum: https://somosmugiwara.forumeiros.com/
Versão do fórum: ModernBB

Descrição


Estou criando um código que mostra um campo de perfil no índice do fórum, funciona da seguinte forma. Existe um campo no perfil chamado status de cada membro, onde cada um pode escrever o que quiser. O código abaixo pega os membros online atualmente no fórum e escolhe aleatoriamente um dos online para mostrar as informações, neste caso o campo de perfil do status.

O código já é totalmente funcional, mas me deparei com um problema com o math.random. Neste caso o length dos membros online é um, mas o math.random escolha de forma aleatória entre 0 e 1. Quando o resultado é 0, retorna o membro online, visto que o primeiro é [0]. Mas quando retorna o 1, ocorre um problema de undefinid, pois existe apenas um membro online no momento.

Pensei na seguinte soluçõe, adicionar o resultado do math.random -1 e posteriormente criando uma condicional de menor que 0 retorna o resultado 0 para a variável e igual ou maior que zero retorna a variável do math.random.
A minha dúvida é se existiria uma outra solução e se a minha solução seria viável de acontecer.

Código:

$(window).load(function() {

var useon = $('.usiconect').find("a").map(
function(){
return $(this).attr("href");
}).get();

var usersort = useon[(Math.round(Math.random() * useon.length)) - 1];
  
$.ajax({
            url: usersort,
            type: 'GET',
            success: function(responseHtml)
            {
            var usiname = $('.lighter a.userostatus', responseHtml).text();  
            var usistatus = $('#profile_field_13_-8', responseHtml).val();
            $('.mystatus').html('<span class="namest">'+ usiname + '</span><span class="descst">' + usistatus + '</span>');
            },
            error: function(err)
            {
              console.log("AJAX error in request");
            }
          });
});

edit: achei uma solução boa, substituir o primeiro math.random por math.floor
Connor R.

Connor R.
Membro do Fórum

Masculino
Inscrito dia : 06/08/2012
Mensagens : 1166
Pontos Ativos : 1897

http://somosmugiwara.forumeiros.com https://www.facebook.com/kadandajr https://twitter.com/SomosMugiwara

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


Permissão deste fórum:
Você não pode responder aos tópicos neste fórum