社員ブログ
HOME  社員ブログ
ホーム > JavaScript, 社員:ピーター > 【JavaScript】配列の最大値を再帰で取得

【JavaScript】配列の最大値を再帰で取得

2013年01月2日 18時18分58秒

こんにちは、ピーターです。

JavaScriptのMath.max関数の構文は

Math.max([value1[,value2[, ...]]])

です。
なので、配列を渡すことができません。

配列を渡す方法として

Math.max.apply(null, [10,4,38,29,15]);

このような書き方があります。

そして、再帰を使った方法もあることを知りました。

function max(list) {
    var count = list.length;
    if ( count === 0 ) {
        throw 'list is empty list.';
    } else if ( count === 1 ) {
        return list[0];
    } else { // count > 1
        return Math.max(list[0], max(list.slice(1)));
    }
}

alert(max[10,4,38,29,15]); // 38
8行目を実際の配列に当てはめて考えるとこんなことを行なっています。
return Math.max(10, Math.max(4, Math.max(38, Math.max(29, 15))));

再帰を使った方法はJavaScript以外でも使える汎用的な方法です。

JavaScript, 社員:ピーター

  1. コメントはまだありません
  1. トラックバックはまだありません