下面我要為大家帶來一篇Javascript中的迭代、歸併方法詳解。現在就分享給大家,也給大家做個參考。
迭代方法
在Javascript中迭代方法個人覺得特別重要,在很多時候都會有實際上的需求,javascript提供了5個迭代方法來供我們操作,它們分別為:
every() 對數組中的每一個項運用給定的函數,如果每項都回傳true,那麼就會傳回true
filter() 對數組中的每一個項目運用給定的函數,把返回true的項組成一個新數組並返回
forEach() 對數組中的每一項運用給定的函數,但是沒有任何的返回值
map() 對數組中的每一個項目運用給定的函數並返回每次函數調用的結果組成新的數組
same() 對數組中的每一個項運用給定的函數,如果數組中有一項回傳true,那麼就回傳true
上面的5個方法中,它們都接受兩個參數: 執行函數,也就是需要對每一個項進行操作的函數,這個函數有三個參數:數組項的值、該項在數組中的位置、數組物件本身。給定的作用域,給定一個作用域,影響給定函數的this物件。如:
var values = [5,6,7,8,9,10,11,12,13]; function actionfunc(item, index, array){console.log(this)}; values.every(actionfunc,document); //这里会向控制台输出6次document对象
歸併方法
除了迭代的方法之外還,javascript也提供了兩個歸併的方法,歸併就是歸檔合併,這些方法和名字一樣,都會利用給定的函數迭代數組中的每一項,然後傳回一個總值。這兩個歸併的方法分別為:
reduce() 在數組中項從第一個開始一直到最後一個順從的對數組中的每一個項運用給定的函數,然後返回一個對數組所有項運行給定函數結果的總和。
reduceRight() 在數組中項從最後一個開始一直到第一個逆向的運用給定的函數,然後傳回一個對數組所有項目運行給定函數結果的總和。
上面的兩個方法接受兩個參數: 執行函數,也就是需要對每一個項目進行操作的函數,這個函數有四個參數:前一個值、當前值、項的索引、陣列對象本身。歸併的基值,歸併的計算將以此值為基礎進行計算。如:
var values = [5, 6, 7, 8, 9, 10, 11, 12, 13]; values.reduce(function(preitem,item,index,array){return preitem+item},2) //返回数值83
上面是我整理給大家的,希望今後對大家有幫助。
相關文章:
javascript prototype原型詳解(基礎課程)
javascript replace()第二個參數為函數時的參數用法(詳細為大家解讀)
##
以上是Javascript中的迭代、歸併方法詳細解讀(圖文教學)的詳細內容。更多資訊請關注PHP中文網其他相關文章!