【JavaScript】配列の最大値を再帰で取得
こんにちは、ピーターです。
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]); // 388行目を実際の配列に当てはめて考えるとこんなことを行なっています。
return Math.max(10, Math.max(4, Math.max(38, Math.max(29, 15))));
再帰を使った方法はJavaScript以外でも使える汎用的な方法です。
最近のコメント