Ben - 1 year ago 105

Javascript Question

Simple question, but I'm interested in the nuances here.

I'm generating random booleans using the following method I came up with myself:

`const rand = Boolean(Math.round(Math.random()));`

Whenever

`random()`

a) Is the above the best-practice way to do it?

b) Am I overthinking things?

c) Am I underthinking things?

d) Is there a better/faster/elegant-er way I don't know of?

(Also somewhat interested if B and C are mutually exclusive.)

If it makes a difference, I'm using this for movement of an AI character.

Answer

Technically, the code looks fine, but just a bit too complex. You can compare "Math.random()" to "0.5" directly, as the range of Math.random() is [0, 1). You can divide the range into [0, 0.5) and [0.5, 1).

```
var random_boolean = Math.random() >= 0.5;
```

Source (Stackoverflow)