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

JavaScriptで真分数を帯分数に変換する方法

真分数とは

真分数とは、p/q の形(p と q はどちらも自然数)で表される分数のことで、分子が分母よりも小さい分数を指します。

帯分数とは

分数 a/b の分子 a を分母 b で割ると、商 q と余り r が求まります。このとき、分数 a/b を帯分数で表すと次のようになります。

q r/b

これは「q と b 分の r」と読みます。たとえば 43/13 の場合、43 ÷ 13 の商は 3、余りは 4 となるため、帯分数では「3 と 13 分の 4」と表せます。

今回作成するのは、真分数を表す 2 つの数値からなる配列を受け取り、その帯分数を表す 3 つの数値からなる配列を返す JavaScript 関数です。割り切れる場合は、商だけを要素とする配列を返す仕様とします。

コード例

const arr = [43, 13];
const properToMixed = arr => {
    const quotient = Math.floor(arr[0] / arr[1]);
    const remainder = arr[0] % arr[1];
    if(remainder === 0){
        return [quotient];
    }else{
        return [quotient, remainder, arr[1]];
    };
};
console.log(properToMixed(arr));

出力結果

コンソールには次のように表示されます。

[ 3, 4, 13 ]

コードの解説

  • Math.floor(arr[0] / arr[1]): 分子を分母で割った商の整数部分を求めます。
  • arr[0] % arr[1]: 剰余演算子「%」を使って、割り算の余りを求めます。
  • 余りが 0 の場合、分数は整数として扱えるため、商のみを含む配列を返します。
  • 余りが存在する場合は、[商, 余り, 分母] の形式で帯分数を表す配列を返します。
  1. JavaScriptで文字列を日付に変換する方法

    日付を表すのに最もおすすめの形式は「yyyy-mm-dd」です。これはISO 8601(国際標準規格)に準拠した形式で、国や地域による表記の違いによる混乱がなく、誰にとっても分かりやすいのが特徴です。JavaScriptでは、この形式の文字列からDateオブジェクトへの変換はとても簡単です。文字列をそのままDateコンストラクタに渡すだけで、自動的に解析してくれます。基本的な例let a = 2019-08-10; console.log(new Date(a));出力結果上記のコードを実行すると、次のような出力が得られます。Sat Aug 10 2019 05:30:00 GMT+0530

  2. JavaScriptで配列をSet(セット)に変換する方法

    JavaScriptで配列をSetに変換するときの基本JavaScriptでは、Setオブジェクトを使うことで、配列から重複しない一意の値だけを持つコレクションを簡単に作成できます。SetはES6(ECMAScript 2015)で導入された組み込みオブジェクトで、同じ値が複数回追加されても自動的に1つにまとめられるのが特徴です。変換自体は非常にシンプルで、new Set(配列)と書くだけで完了します。コード例:配列からSetへの変換以下は、重複を含む配列をSetに変換して画面に表示するサンプルコードです。<!DOCTYPE html> <html lang=ja> &