關於 Array.reduce()
前言
最近看到了 Array.reduce() ,抽空做個學習,在此做個紀錄。
內容
Array.reduce() 會逐一取得每個陣列元素並做處理,但這跟 Array.forEach() 不是一樣嗎?先看看範例
const array1 = [1, 2, 3, 4]; // const initialValue = 0; const sumWithInitial = array1.reduce( (previousValue, currentValue) => previousValue + currentValue, initialValue ); console.log(`sum:${sumWithInitial}`);//10 // let sumByForEach = 0; array1.forEach( function(value) { sumByForEach += value; }); console.log(`sum use foreach:${sumByForEach}`);//10
Array..reduce() 的引數有兩個,第一個引數是個 funciton ,用來處理每個元素,但它的引數是先前的元素與現在的元素,第二個引數是初始值,最後範例用 Array.forEach() 來做一樣的是來比較差異性,差異是 Array.forEach() 的總和值是在外面給的,但 Array..reduce() 可以不用給,會自動產生,並且可以用 return 值來接收這個數值,差異就是少了一行來產生這個數值。
沒有留言:
張貼留言