JavaScriptで配列内の最大値と最小値を調べる

配列内の数値の最小値と最大値を取得する方法を調べてみたのでメモ。

うまくいかなかった場合

Math.min()とMath.max()は引数を複数設定できるので、以下のように試してみました。

JavaScript

var arr = [1, 2, 3, 4, 5];
console.log(Math.min(arr)); // NaN
console.log(Math.max(arr)); // NaN

引数に配列は設定できないので、うまく取得できませんでした。
うまくいかなかった場合のデモページ
 

for文で回す場合

配列をfor文で回して、値を1つずつ比較します。

JavaScript

var arr = [1, 2, 3, 4, 5];
var minData = arr[0];
var maxData = arr[0];
for (var i = 0; i < arr.length; i++) {
	minData = Math.min(minData, arr[i]);
	maxData = Math.max(maxData, arr[i]);
}
console.log(minData); // 1
console.log(maxData); // 5

これで最小値と最大値を取得できました。
for文で回す場合のデモページ
 

apply()を使う場合

apply()を使用するともっとシンプルに記述できます。

JavaScript

var arr = [1, 2, 3, 4, 5];
console.log(Math.min.apply(null, arr)); // 1
console.log(Math.max.apply(null, arr)); // 5

apply()を使う場合のデモページ
基本的にはapply()を使う場合で、調べる際に何か別の処理をしたい場合(数値かどうかチェックするなど)はfor文を使ってもいいかもしれません。
 

【参考サイト】

 

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年11月
 12
3456789
10111213141516
17181920212223
24252627282930