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

JavaScriptで月の番号から四半期を求める方法

問題

1始まりの月の番号(1〜12)を受け取り、その月が属する四半期を返すJavaScript関数を作成する必要があります。

一般的に四半期は以下のように区分されます。

  • 第1四半期(Q1):1月〜3月
  • 第2四半期(Q2):4月〜6月
  • 第3四半期(Q3):7月〜9月
  • 第4四半期(Q4):10月〜12月

コード例

以下は、if文を使って実装した基本的なコードです。

const month = 7;

const findQuarter = (month = 1) => {
  if (month <= 3) {
    return 1;
  } else if (month <= 6) {
    return 2;
  } else if (month <= 9) {
    return 3;
  } else if (month <= 12) {
    return 4;
  }
};

console.log(findQuarter(month));

出力結果

コンソールには次のように出力されます。7月は第3四半期に属するため、結果は「3」となります。

3

より簡潔な書き方:Math.ceilを活用する

条件分岐を減らしたい場合は、割り算とMath.ceil()を組み合わせることで、1行で四半期を求められます。月の番号を3で割って切り上げると、ちょうど四半期の番号になります。

const findQuarter = (month = 1) => {
  return Math.ceil(month / 3);
};

console.log(findQuarter(7)); // 3
console.log(findQuarter(1)); // 1
console.log(findQuarter(12)); // 4

まとめ

月から四半期を求める処理は、if文による条件分岐でもMath.ceil(month / 3)のような計算式でも実装できます。コードの可読性や処理速度を重視する場合は、後者のシンプルな方法がおすすめです。

  1. JavaScriptでアルファベットの1始まりのインデックスを取得する方法

    問題JavaScriptで関数を作成する必要があります。この関数は、小文字の英字アルファベット1文字を受け取り、その文字がアルファベットの中で何番目に位置するかを「1始まり」のインデックスとして返します。例えば、a なら 1、j なら 10 を返すといったイメージです。無効な入力が渡された場合は -1 を返してエラーを通知すると親切です。実装の考え方最もシンプルな方法は、先頭に半角スペースを付けたアルファベット文字列「 abcdefghijklmnopqrstuvwxyz」を基準(レジェンド)として用意することです。こうすることで、スペースが0番目となり、a は1番目、j は10番目というよう

  2. 【JavaScript】配列の中で左右の合計が等しくなる中央インデックス(ピボットインデックス)を見つける方法

    問題数値の配列 arr が与えられたとき、「あるインデックスより左側にあるすべての要素の合計」と「そのインデックスより右側にあるすべての要素の合計」が等しくなる位置(中央インデックス/ピボットインデックス)を求める JavaScript 関数を作成します。該当するインデックスが複数存在する場合は、最初に見つかったものを返し、存在しない場合は -1 を返すのが一般的です。たとえば、次のような入力を考えます。入力const arr = [1, 7, 3, 6, 5, 6];出力const output = 3;出力の解説インデックス 3 の要素は nums[3] = 6 です。この要素の左側にある