JavaScriptで2つの直方体の体積差を求める方法
問題
JavaScriptで、2つの直方体(キューボイド)の長さ・幅・高さを指定する配列を受け取る関数を作成します。
この関数は、それぞれの直方体の体積を計算し、その絶対差(差の絶対値)を返す必要があります。
直方体の体積は「長さ × 幅 × 高さ」で求められるため、まず各直方体の体積を算出し、Math.abs()メソッドを使って2つの体積の差の絶対値を取得します。
コード例
以下が実際のコードです。
const h1 = 10;
const w1 = 12;
const l1 = 15;
const h2 = 12;
const w2 = 15;
const l2 = 9;
const findVolumeDifference = (l1, w1, h1, l2, w2, h2) => {
// 1つ目の直方体の体積を計算
const v1 = l1 * w1 * h1;
// 2つ目の直方体の体積を計算
const v2 = l2 * w2 * h2;
// 体積の差の絶対値を返す
const diff = Math.abs(v1 - v2);
return diff;
};
console.log(findVolumeDifference(l1, w1, h1, l2, w2, h2));出力結果
180
コードの解説
この例では、1つ目の直方体の寸法が長さ15、幅12、高さ10であるため、体積は 15 × 12 × 10 = 1800 となります。
一方、2つ目の直方体の寸法は長さ9、幅15、高さ12なので、体積は 9 × 15 × 12 = 1620 です。
したがって、2つの体積の差は 1800 − 1620 = 180 となり、これが出力結果として表示されます。
アロー関数を使うことで簡潔に記述でき、Math.abs()によってどちらの直方体の体積が大きい場合でも、常に正の値として差を取得できる点がポイントです。
-
JavaScriptのconst宣言とは?再代入できない変数の基本と使い方を解説
JavaScriptのconst宣言は、値を再代入することも後から再宣言することもできない変数を作成するための構文です。constはES2015(ES6)で導入されました。 const宣言の主な特徴 一度値を代入すると、別の値に再代入することはできません。 同じ名前の変数を同じスコープ内で再宣言するとエラーになります。 宣言時に必ず初期値を代入する必要があります。 ブロックスコープ({}内でのみ有効)を持ちます。 それでは、JavaScriptにおけるconst宣言の実際のコードを見ていきましょう。 サンプルコード <!DOCTYPE html> <html>
-
JavaScriptのconstとletの違いを徹底解説!ブロックスコープ変数の基本と使い方
JavaScriptにおけるconstとletの基本const と let は、ES2015(ES6)で導入された変数宣言用のキーワードです。どちらもブロックスコープ(波括弧 { } で囲まれた範囲)に対応しているのが特徴で、関数スコープしか持たなかった従来の var とは異なる挙動を示します。両者の大きな違いは再代入の可否です。letで宣言した変数は後から何度でも値を再代入できますが、constで宣言した変数は再代入しようとするとエラー(TypeError)が発生します。letとconstの主な違い項目letconst再代入可能不可(エラー発生)スコープブロックスコープブロックスコープ宣言時