変数min
には、指定された配列内の4つの最小項目の合計が含まれます。 変数max
には、指定された配列内の4つの最大項目の合計が含まれます。特定のユースケースをテストした後に初期値のない空の配列を減らす
JS:
function main() {
const arr = [1, 2, 3, 4, 5]
const min = arr.sort().filter((element, index, array) => element !== array[array.length - 1]).reduce((accumulator, currentValue) => {
return accumulator + currentValue
})
const max = arr.sort().filter((element, index, array) => element !== array[0]).reduce((accumulator, currentValue) => {
return accumulator + currentValue
})
console.log(min, max)
}
main()
予想されたように、[1,2,3,4,5]
が所与の配列が[5,5,5,5,5]
である場合は、プログラムはTypeError: Reduce of empty array with no initial value
を返すであろう10、14をもたらすであろう。
これはなぜですか?
ありがとうございました。
なぜでコードブロックを置き換えますか? .reduceに初期値を指定していないので、その関数に2番目のパラメータとして0を入れるだけです。 //また、あなたのフィルタリングロジックは、あなたが与えた目標説明と一致しませんが、それはまったく別のものです。 – c69
https://stackoverflow.com/questions/43576241/javascript-using-reduce-to-find-min-and-max-values – c69
配列に '5'要素が含まれていることを忘れたと思いますか? – CodeYogi