Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

134
Visualizações
Making random string of length n composed of solely 0's and 1's

What is a good ways to make random strings of length n, where the strings consist of only 0's and 1's?

  • (obviously strings will repeat after some point, but assume we have enough length so we don't hit this ).

Would using math.random() and round and then just joining the generating numbers be good?

Maybe there is a way to generate all $n$ digits at once instead of in a loop as in above?

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Here are two methods:

  1. concat strings using a for loop
function buildStrForLoop(n) {
   let str = ''
   for (let i = 0; i < n; i++) {
      str += Math.floor(Math.random() + 0.5)
   }
   return str
}
  1. generate an array using Array.from and then join
function buildStrArrayFrom(n) {
   return Array.from({ length: n }, () => Math.floor(Math.random() + 0.5)).join('')
}

Note i use floor and add 0.5 instead of using round as it was slightly faster.

I timed this on my M1 mac setting n=10000000 and got ~1000ms for both methods.

about 4 years ago · Juan Pablo Isaza Relatório

0

This solution uses .toString(2) to convert our random number to base 2 and get a bunch of 0's and 1's all at the same time (as opposed to only yielding one 0 or 1 with rounding), which greatly reduces the amount of times our loop has to execute. It also uses rando.js to be cryptographically secure, but you could just as easily use Math.random() instead of rando() if you chose to.

function get01String(length){
  var str = "";
  while(str.length < length) str += rando().toString(2).slice(2);
  return str.slice(-length);
}

console.log(get01String(5));
<script src="https://randojs.com/2.0.0.js"></script>

about 4 years ago · Juan Pablo Isaza Relatório

0

Here is what I would do. I made a function, which creates a string with 0s and 1s.

Maybe there are better options, but it may help you.

function stringMaker(lenght) {
            let string = "";
            for (let i = 0; i < lenght; i++) {
                string += Math.round(Math.random());
            }
            document.getElementById("number").innerHTML = string;
        }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda