私はこのクラスを使って、reduce()メソッドを使って配列の最小値と最大値を探します。しかし、私たちは減らすために1回の呼び出しだけを使用する必要があります。戻り値の配列はサイズ2でなければなりませんが、reduce()メソッドは常にサイズ1の配列を返します。以下のコードを使用して最小値を取得できますが、同じ呼び出しで最大値を返します。私は、一度最大値を取得すると、reduce()メソッドの終了後に配列にプッシュすると仮定します。Javascript:reduce()を使用して最小値と最大値を検索しますか?
/**
* Takes an array of numbers and returns an array of size 2,
* where the first element is the smallest element in items,
* and the second element is the largest element in items.
*
* Must do this by using a single call to reduce.
*
* For example, minMax([4, 1, 2, 7, 6]) returns [1, 7]
*/
function minMax(items) {
var minMaxArray = items.reduce(
(accumulator, currentValue) => {
return (accumulator < currentValue ? accumulator : currentValue);
}
);
return minMaxArray;
}
実際に質問をしていないようです。 [ask]を確認してください。 – zzzzBov
'しかし、reduce()メソッドは常にサイズ1の配列を返します。これは間違っています。また、reduceは、コールバックを使って配列を繰り返し処理する方法に過ぎません。イテレータで使用できる 'minMax'メソッドの範囲内にある他の変数について考えてみてください。ヒント:あなたの説明から、 'reduce 'の戻り値を必ずしも使う必要はありません。 – Adam
[reduce()docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce?v=control)を読み、 'initValue'の' accumulator' – charlietfl