Skip to content
Advertisement

How to repeat random string with .repeat() and make it still random?

Is there some way to make random strings with .repeat() still random? If I use this:

console.log(`${Math.random()} | `.repeat(5));

the output is something like this:

0.2564646392254777 | 0.2564646392254777 | 0.2564646392254777 | 0.2564646392254777 | 0.2564646392254777 | 

In a nutshell, the output is the same.

Advertisement

Answer

What your code currently does is:

  1. Generate a random number within a string
  2. Repeat n times that string.

What you want is generate n random number strings, then join them.

Here is a function that does this:

function randomNumberString(n) {
    return Array(n).fill(0).map(_ => `${Math.random()}`).join(' | ');
}
console.log(randomNumberString(10));

And if you really want the | at the end:

function randomNumberString(n) {
    return Array(n).fill(0).map(_ => `${Math.random()} | `).join('');
}
console.log(randomNumberString(10));
User contributions licensed under: CC BY-SA
8 People found this is helpful
Advertisement