let警察に捕まったときに教わったreduceの使い方
こんな雰囲気のコードでPRを出したところ、let警察に逮捕されました。
※ 実際のコードとは異なります
const numbers = [...Array(100).keys()]
let sum = 0, count = 0
numbers.forEach(number => {
sum += number
console.log('sum', sum)
count++
})
console.log('sum', sum) // sum 4950
console.log('count', count) // count 100
let警察が教えてくれた書き方
const numbers = [...Array(100).keys()]
const [sum, count] = numbers.reduce(([sum, count], number) => {
return [sum + number, ++count]
}, [0, 0])
console.log('sum', sum) // sum 4950
console.log('count', count) // count 100
レビューコメントを見た僕「まじ?」
配列の分割代入を利用してこんな書き方ができるとは知らず、完全にアハ体験でした。
letを撲滅したいそこのあなた、こんな書き方はいかがでしょう?