天天看點

Rxjs----Scan

 1 scan( (previousValue,currentValue)=>previousValue+currentValue),seed?) 

函數功能:

提供一個數組(Observable),對數組的元素累計求和

參數解析:

 previousValue: 上一次調用回調傳回的值,或者是提供的初始值

 currentValue: 數組中目前被處理的元素

 seed: 用以提供初始值,如果 seed 未被定義,則數組的第一個元素被當作初始值,此時第一次并不會被計算,而是将元素的第一個值作為第一個傳回值,将傳回值作為參數,與第二個數組元素相加,計算結果作為第二個傳回值,依次計算。

傳回結果:一系列可觀察對象

示例:

上面代碼中,提供了 previousValue 和 currentValue,沒有提供 seed,是以第一次執行時候,将 1 作為初始狀态傳回,然後執行 1+2,傳回 3, 再執行 3+3,傳回 6,傳回結果是 1,3,6

上面代碼中,提供了 previousValue 、 currentValue 和 seed,seed作為起始狀态,是以第一次執行時候,執行1+4,傳回5,然後執行 5+2,傳回 7, 再執行 7+3,傳回 10,傳回結果是 5,7,10