Javascript中的迭代、歸并方法詳解
迭代方法
在Javascript中迭代方法個人覺得尤為重要,在很多時候都會有實際上的需求,javascript提供了5個迭代方法來供我們操作,它們分別為:
every() 對數(shù)組中的每一個項運用給定的函數(shù),如果每項都返回true,那么就會返回true
filter() 對數(shù)組中的每一個項運用給定的函數(shù),把返回true的項組成一個新數(shù)組并返回
forEach() 對數(shù)組中的每一項運用給定的函數(shù),但是沒有任何的返回值
map() 對數(shù)組中的每一個項運用給定的函數(shù)并返回每次函數(shù)調(diào)用的結(jié)果組成新的數(shù)組
same() 對數(shù)組中的每一個項運用給定的函數(shù),如果數(shù)組中有一項返回true,那么就返回true
上面的5個方法中,它們都接受兩個參數(shù): 執(zhí)行函數(shù),也就是需要對每一個項進(jìn)行操作的函數(shù),這個函數(shù)有三個參數(shù):數(shù)組項的值、該項在數(shù)組中的位置、數(shù)組對象本身。 給定的作用域,給定一個作用域,影響給定函數(shù)的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還提供了兩個歸并的方法,歸并就是歸檔合并,這些方法和名字一樣,都會利用給定的函數(shù)迭代數(shù)組中的每一項,然后返回一個總值。這兩個歸并的方法分別為:
reduce() 在數(shù)組中項從第一個開始一直到最后一個順向的對數(shù)組中的每一個項運用給定的函數(shù),然后返回一個對數(shù)組所有項運行給定函數(shù)結(jié)果的總和。
reduceRight() 在數(shù)組中項從最后一個開始一直到第一個逆向的運用給定的函數(shù),然后返回一個對數(shù)組所有項運行給定函數(shù)結(jié)果的總和。
上面的兩個方法接受兩個參數(shù): 執(zhí)行函數(shù),也就是需要對每一個項進(jìn)行操作的函數(shù),這個函數(shù)有四個參數(shù):前一個值、當(dāng)前值、項的索引、數(shù)組對象本身。 歸并的基值,歸并的計算將以此值為基礎(chǔ)進(jìn)行計算。如:
var values = [5, 6, 7, 8, 9, 10, 11, 12, 13];
values.reduce(function(preitem,item,index,array){return preitem+item},2) //返回數(shù)值83
以上這篇Javascript中的迭代、歸并方法詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
簡單介紹JavaScript中字符串創(chuàng)建的基本方法
這篇文章主要介紹了簡單介紹JavaScript中字符串創(chuàng)建的基本方法,是JS入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-07-07
jquery下組織javascript代碼(js函數(shù)化)
這里整理的是jquery下js的一些代碼組織方法,大家可以借鑒下整理出基于jquery的自己喜歡的模式。2010-08-08
JavaScript字符串對象toLowerCase方法入門實例(用于把字母轉(zhuǎn)換為小寫)
這篇文章主要介紹了JavaScript字符串對象toLowerCase方法入門實例,toLowerCase方法用于把字母字符串轉(zhuǎn)換為小寫形式,需要的朋友可以參考下2014-10-10
Javascript學(xué)習(xí)筆記之?dāng)?shù)組的構(gòu)造函數(shù)
這篇文章主要介紹了Javascript數(shù)組的構(gòu)造函數(shù)及常見的操作,講解的十分詳細(xì),這里推薦給大家2014-11-11
JavaScript數(shù)據(jù)結(jié)構(gòu)與算法之棧與隊列
在面向?qū)ο蟮某绦蛟O(shè)計里,一般都提供了實現(xiàn)隊列(queue)和堆棧(stack)的方法,而對于JS來說,我們可以實現(xiàn)數(shù)組的相關(guān)操作,來實現(xiàn)隊列和堆棧的功能,看下面的相關(guān)介紹.2016-01-01
JavaScript link方法入門實例(給字符串加上超鏈接)
這篇文章主要介紹了JavaScript link方法入門實例,link方法用于給字符串加上超鏈接,需要的朋友可以參考下2014-10-10

