JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで2つの整数間のランダムな整数を生成する方法

本記事では、ちょうど2つの数値を要素として持つ配列(範囲の指定)を受け取り、その範囲内(両端を含む)に収まるランダムな整数を生成するJavaScript関数の作成方法を解説します。

ランダムな数値の生成には標準組み込みオブジェクトの Math.random() を使用し、小数点以下を切り捨てて整数化するために Math.floor() を組み合わせます。

実装コード

const range = [5, 15];
const randomBetween = ([min, max]) => {
    // +1 することで最大値も範囲に含める
    const random = Math.random() * (max - min + 1);
    const whole = Math.floor(random) + min;
    return whole;
};
for(let i = 0; i < 10; i++){
    console.log(randomBetween(range));
}

コードのポイント

  • 分割代入:引数 [min, max] で配列から最小値と最大値を直接取り出しています。
  • +1 の意味max - min だけだと最大値が範囲に含まれないため、+1 を加えることで両端を含む範囲になります。
  • Math.floor():0以上1未満のランダムな小数を、指定範囲の大きさに掛けた後、切り捨てて整数に変換します。

出力結果

コンソールへの出力は以下のようになります。

13
10
6
10
12
5
14
13
11
6

なお、Math.random() の性質上、この出力は実行するたびに異なる結果となります。

  1. JavaScriptで2つのIPアドレス間に存在するアドレス数を求める方法

    問題2つのIPv4アドレスを引数として受け取り、その間に存在するIPアドレスの総数を返すJavaScript関数を作成します。ここでいう「間」とは、最初のアドレスを含み、最後のアドレスは含まない範囲を指します。IPv4アドレスは「0〜255の数値(オクテット)」を4つドットでつないだ構造になっており、各オクテットは256進法の1桁とみなすことができます。そのため、IPアドレス全体を1つの10進数に変換し、両者の差の絶対値を求めれば、間に存在するアドレス数を簡単に計算できます。考え方:オクテットごとの重み各オクテットには、左から順に次の重みが対応します。第1オクテット:2563(16,777,2

  2. 2つの整数の間のアームストロング数の求め方|C言語サンプルコード付きで解説

    アームストロング数とは?アームストロング数(Armstrong Number)とは、n桁の整数の各桁を取り出してそれぞれn乗し、それらを合計した値が元の数と一致するような整数のことです。数式で表すと次のようになります。abcd... = an + bn + cn + dn + ...特に3桁のアームストロング数の場合は、「各桁の数字の3乗の和がその数自身と等しい」という条件になります。最も有名な例が 153 です。153 = 13 + 53 + 33 = 1 + 125 + 27 = 153つまり、153 はアームストロング数です。ほかにも、370、371、407 などが3桁のアームストロング