JavaScript の reduce() メソッドは、配列の全ての要素を1つの値にまとめるためのメソッドです。
合計・積・文字列の結合・オブジェクトの集約など、いろいろな集約処理に使えます。
最初は処理を追うのが難しく感じますが、データ処理のシーンなどで使うと慣れてきます。
基本的にはforループやforEachなどで処理は代用できるので、JavaScriptの文法に慣れてきたら少し意識して使うぐらいで問題ありません。
const result = array.reduce((accumulator, currentValue) => { // 処理内容 return 新しい値; }, 初期値);
コピペではなく実際に打ち込んで練習してみましょう。
const numbers = [1, 2, 3, 4]; const total = numbers.reduce((sum, num) => sum + num, 0); console.log(total); // 10
const numbers = [2, 3, 4]; const product = numbers.reduce((acc, num) => acc * num, 1); console.log(product); // 24
const words = ["Hello", "world", "!"]; const sentence = words.reduce((acc, word) => acc + " " + word); console.log(sentence); // Hello world !
const items = [ { name: "Apple", price: 100 }, { name: "Banana", price: 150 }, { name: "Orange", price: 200 } ]; const totalPrice = items.reduce((sum, item) => sum + item.price, 0); console.log(totalPrice); // 450
const fruits = ["apple", "banana", "apple", "orange", "banana", "apple"]; const counts = fruits.reduce((acc, fruit) => { acc[fruit] = (acc[fruit] || 0) + 1; return acc; }, {}); console.log(counts); // { apple: 3, banana: 2, orange: 1 }