JavaScriptでmpg(マイル/ガロン)をkm/L(キロメートル/リットル)に変換する方法
課題
JavaScriptで、マイル/ガロン(mpg)の数値を受け取り、それに相当するキロメートル/リットル(km/L)へ変換して返す関数を作成します。アメリカなどで使われる燃費単位 mpg を、日本や欧州で一般的な km/L に置き換える際によく用いられる処理です。
変換の考え方
変換には、以下の2つの国際基準の定数を使用します。
- 1ガロンあたりのリットル数:4.54609188 L(英ガロン)
- 1マイルあたりのキロメートル数:1.609344 km
「キロメートル ÷ リットル」の比率を求め、入力された mpg の値に掛けることで km/L への変換が可能になります。
コード例
以下は実際の実装例です。
const num = 25;
const converter = (mpg) => {
let LITRES_PER_GALLON = 4.54609188;
let KILOMETERS_PER_MILE = 1.609344;
// km/L への換算比率を計算
const ratio = KILOMETERS_PER_MILE / LITRES_PER_GALLON;
// 小数点第2位で四捨五入して返す
return Math.round(100 * mpg * ratio) / 100;
};
console.log(converter(num));
処理のポイント
この関数では、まず KILOMETERS_PER_MILE / LITRES_PER_GALLON によって約 0.354 という換算比率を求めています。入力値にこの比率を掛けた後、Math.round(100 * 値) / 100 のテクニックを使うことで、小数点第2位までの値に四捨五入し、読みやすい結果を返しています。
出力結果
コンソールには次のように出力されます。
8.85
つまり、25 mpg の燃費は約 8.85 km/L に相当することが分かります。この関数を活用すれば、異なる燃費単位のデータを簡単に統一して扱うことができます。
-
JavaScriptのconstとletの違いを徹底解説!ブロックスコープ変数の基本と使い方
JavaScriptにおけるconstとletの基本const と let は、ES2015(ES6)で導入された変数宣言用のキーワードです。どちらもブロックスコープ(波括弧 { } で囲まれた範囲)に対応しているのが特徴で、関数スコープしか持たなかった従来の var とは異なる挙動を示します。両者の大きな違いは再代入の可否です。letで宣言した変数は後から何度でも値を再代入できますが、constで宣言した変数は再代入しようとするとエラー(TypeError)が発生します。letとconstの主な違い項目letconst再代入可能不可(エラー発生)スコープブロックスコープブロックスコープ宣言時
-
JavaScriptで配列をSet(セット)に変換する方法
JavaScriptで配列をSetに変換するときの基本JavaScriptでは、Setオブジェクトを使うことで、配列から重複しない一意の値だけを持つコレクションを簡単に作成できます。SetはES6(ECMAScript 2015)で導入された組み込みオブジェクトで、同じ値が複数回追加されても自動的に1つにまとめられるのが特徴です。変換自体は非常にシンプルで、new Set(配列)と書くだけで完了します。コード例:配列からSetへの変換以下は、重複を含む配列をSetに変換して画面に表示するサンプルコードです。<!DOCTYPE html> <html lang=ja> &