私はminとmaxを得るためにreduceを2回呼び出していますが、instedは1回だけ呼び出して同じ結果を得ることができる方法です。 - 減らすために1回の呼び出しでこれを行う必要があります。 - 例えば、MINMAX([4、1、2、7、6])戻り[1,7]function minMax(items){items.reduce([最小、現在)最小<現在?最小:現在)};
function minMax(items)
{
return [items.reduce((prev, curr)=> Math.min(prev, curr)),
items.reduce((prev, curr)=> Math.max(prev, curr))]
}
実際のタイトルを教えてくださいは... – Li357
だけ使用し ' [Math.min(... items)、Math.max(... items)] 'を返します。 – Xufox
@Xufox Nice :) ,,唯一のことは、OPが言う - > 'これを行う必要があります単一の呼び出しを減らすために'。私はなぜそれがあったのか分かりませんが、好奇心のために速いパフォーマンステストをすると思っていましたが、reduceを使うのは2倍以上でした。私はreduceがシングルパスを行っているという事実だけではないと仮定していますが、シングルパスで実行するとCPUキャッシングに役立ちます。しかし、とにかく、私はまだあなたの答えは、親指に値すると思います:)。 – Keith