【TS】【Ruby】boolean値をランダムに返す方法をざっくりまとめてみた
目次
背景
仕事でboolean値をランダムに返すやり方がパッと出なかったので、ブログにまとめようと思います。
boolean値をランダムに返す方法
Ruby
Array#sampleメソッドを使用します。sampleメソッドは配列の要素を1個ランダムに選んで返します。
isAdmin = [true, false].sample p isAdmin # => true
TS
Math.randomとMath.floorを使用します。Math.randomは0 以上 1 未満のランダムな浮動小数点数を返します。また、Math.floorで、小数点以下を切り捨てることができます。
// *2して、0以上2未満のランダムな浮動小数点を生成している // Math.floorで、浮動小数点数の小数点以下を切り捨てている。 const isAdmin = [true, false][Math.floor(Math.random() * 2)] console.log(isAdmin); // => true
しかし、これは冗長なので、以下のように書いてもOKです。以下のように書くことで、Math.random()の値が0以上0.5未満ではfalse、Math.random()の値が0.5以上1未満ではtrueになります。
const isAdmin = Math.random() >= 0.5 console.log(isAdmin); // => true
参考記事
javascript — JSはランダムなブール値を生成します