上一篇文章中我們了解了創建一個具有可變數量的數組的方法,請看《js如何創建一個具有可變數量的數組》。這次我們來了解陣列中的元素實現累加效果的方法,有需要的可以參考參考。
首先我們來看一個小例子。
我們現在有這樣一個問題,已知,我們有一個包含1,2,3,4這四個元素的數組,現在我們想知道這個數組中元素的總和是多少,該如何計算呢?如果加上元素two呢?這總和還是一樣的嗎?
<script> var arr = new Array(7); arr[0] = 1; arr[1] = 2; arr[2] = 3; arr[3] = 4; console.log(arr); const reducer = (accumulator, currentValue) => accumulator + currentValue; console.log(arr.reduce(reducer)); var nums = new Array(7); nums[0] = 1; nums[1] = 2; nums[2] = 3; nums[3] = 4; nums[4] = "two"; console.log(nums); console.log(nums.reduce(reducer)); </script>
這個小例子的結果是
#我們可以結合題目觀察結果,1,2,3,4四個元素累加起來的結果是10,而1,2,3,4和two這五個元素累加的結果是10two。這表明,在這個方法中,如果出現英文的話,英文是不會被過濾的,會直接與數字進行運算。
了解這麼多之後,我們就去具體看看這個方法吧。
reduce() 方法對數組中的每個元素執行一個由我們提供的reducer函數(升序執行),將其結果匯總為單一傳回值。
我們來看看這個方法的語法吧。
数组名称.reduce(执行的函数(累计器的返回值,正在处理的元素,当前元素索引,数组,第一次调用函数时的值)
reduce為數組中的每一個元素依序執行callback函數,不包括數組中被刪除或從未被賦值的元素,接受四個參數:
accumulator 累計器
currentValue 目前值
currentIndex 目前索引
array 陣列
注意:如果沒有提供第一次呼叫函數時的值,reduce 會從索引1的地方開始執行callback 方法,跳過第一個索引。如果提供第一次呼叫函數時的值,從索引0開始。
就說到這裡了,有需要的可以看:javascript基礎教學
#以上是js數組中的元素如何實現累加效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!