JavaScriptで3辺の長さから三角形の面積を計算する方法(ヘロンの公式)
課題
三角形の3つの辺の長さを受け取り、ヘロンの公式(Heron's formula)を使ってその面積を計算するJavaScript関数を作成します。
ヘロンの公式とは、三角形の高さが不明でも、3辺の長さだけで面積を求められる便利な公式です。手順は以下の通りです。
- 3辺の合計を2で割り、半周長 s を求める:s = (a + b + c) / 2
- 面積 = √( s × (s − a) × (s − b) × (s − c) ) を計算する
サンプルコード
以下は、上記の手順をJavaScriptで実装した例です。
const s1 = 10;
const s2 = 8;
const s3 = 7;
const findArea = (a, b, c) => {
// 1. 半周長 s を計算
const s = (a + b + c) / 2;
// 2. ヘロンの公式で面積を求める
return Math.sqrt(s * (s - a) * (s - b) * (s - c));
};
console.log(findArea(s1, s2, s3));コードのポイント
- 引数として渡された3辺
a、b、cの合計を2で割り、半周長sを求めています。 Math.sqrt()メソッドを使用することで、平方根を簡単に計算できます。- アロー関数を使うことで、簡潔で読みやすいコードになっています。
実行結果
27.810744326608734
3辺がそれぞれ 10、8、7 の三角形の場合、面積は約 27.81 となります。必要に応じて toFixed(2) などを使えば、小数点以下の桁数を整えて表示することも可能です。
-
JavaScriptでテキストエリアの矢印キー操作を無効にする方法
JavaScriptを使えば、テキストエリア(textarea)内での矢印キーによるスクロールを簡単に無効化できます。仕組みとしては、keydownイベントを監視し、矢印キーが押されたタイミングでpreventDefault()を呼び出すことで、ブラウザのデフォルトのスクロール動作をキャンセルします。 実装例 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <meta name="viewport"
-
JavaScriptで入力に応じて自動的に高さが変わるテキストエリアを作成する方法
Webフォームなどで長い文章を入力する際、テキストエリアの高さが固定されているとスクロールが必要になり、使い勝手が損なわれることがあります。そこで役立つのが、入力内容に応じて高さを自動的に調整する「自動リサイズテキストエリア」です。 仕組み 実装のポイントは次の2点です。 inputイベント:ユーザーがテキストを入力・貼り付けするたびに処理を実行します。 scrollHeightプロパティ:要素の中身全体の高さを取得し、その値をstyle.heightに設定することで、コンテンツに合わせた高さに変更できます。 一度heightを「auto」に戻してからscrollHeightを設定するのが