JavaScriptで複数の変数から最も高い値を持つものを特定する方法
はじめに
複数の変数(オブジェクトのプロパティ)の中から、最も高い値を持つものを取得したい場合は、JavaScriptのMath.max()メソッドとObject.values()メソッドを組み合わせると簡単に実現できます。
Math.max()は引数に渡した数値の中から最大値を返しますが、オブジェクトの値はそのまま渡すことができません。そこでObject.values()を使ってオブジェクト内のすべての値を配列として取り出し、スプレッド構文(...)でMath.max()に展開して渡します。
サンプルコード
const studentMarksDetails = {
marks1: 78,
marks2: 69,
marks3: 79,
marks4: 74
}
const maximumMarks = Math.max(...Object.values(studentMarksDetails));
console.log("The highest marks=" + maximumMarks);
for (const key of Object.keys(studentMarksDetails)) {
if (studentMarksDetails[key] == maximumMarks) {
console.log(`The Object='${key}'`);
break;
}
}プログラムの実行方法
上記のプログラムを実行するには、ターミナルまたはコマンドプロンプトで以下のコマンドを入力します。
node fileName.js
ここでは、ファイル名を「demo91.js」として保存しているため、実際のコマンドは次のようになります。
実行結果
上記のコマンドを実行すると、コンソールに以下のような出力が表示されます。
PS C:\Users\Amit\JavaScript-code> node demo91.js The highest marks=79 The Object='marks3'
コードの解説
まず、Math.max(...Object.values(studentMarksDetails))によって、学生の点数データから最高得点である「79」を取得します。続いて、Object.keys()でオブジェクトの各キーを順番に調べ、最高得点と一致するキー「marks3」を見つけたら、そのキー名を出力してループを抜けています。
このように、Math.max()とObject.values()を組み合わせれば、オブジェクト内の数値データから最大値を簡単に求められるだけでなく、その値がどの変数(プロパティ)に格納されているかも特定することができます。
-
JavaScriptのImage()オブジェクトとは?使い方とサンプルコードを解説
JavaScriptにおけるImage()オブジェクトは、HTMLの<img>要素を表すオブジェクトです。このオブジェクトを使うことで、JavaScriptから動的に画像を生成し、Webページに追加することができます。Image()コンストラクタには、引数として画像の幅と高さをピクセル単位で指定できます。また、生成した画像オブジェクトのsrcプロパティに画像のURLを設定することで、画像を読み込むことが可能です。Image()オブジェクトの基本的な使い方以下は、JavaScriptでImage()オブジェクトを使用するサンプルコードです。コード例<!DOCTYPE html&
-
JavaScriptで配列の中から最大値を取得して返す方法
本記事では、数値の配列を受け取り、その中から最大の要素を見つけ出して返すJavaScript関数の実装方法を解説します。関数は配列を先頭から順に走査し、要素同士を比較しながら最も大きい値を特定する仕組みです。サンプルコード実際のコードは以下のようになります。const arr = [5, 3, 20, 15, 7]; const findGreatest = (arr = []) => { let greatest = -Infinity; if(!arr?.length){ return nu