迭代方法
在Javascript中迭代方法個(gè)人覺(jué)得尤為重要,在很多時(shí)候都會(huì)有實(shí)際上的需求,javascript提供了5個(gè)迭代方法來(lái)供我們操作,它們分別為:
every() 對(duì)數(shù)組中的每一個(gè)項(xiàng)運(yùn)用給定的函數(shù),如果每項(xiàng)都返回true,那么就會(huì)返回true
filter() 對(duì)數(shù)組中的每一個(gè)項(xiàng)運(yùn)用給定的函數(shù),把返回true的項(xiàng)組成一個(gè)新數(shù)組并返回
forEach() 對(duì)數(shù)組中的每一項(xiàng)運(yùn)用給定的函數(shù),但是沒(méi)有任何的返回值
map() 對(duì)數(shù)組中的每一個(gè)項(xiàng)運(yùn)用給定的函數(shù)并返回每次函數(shù)調(diào)用的結(jié)果組成新的數(shù)組
same() 對(duì)數(shù)組中的每一個(gè)項(xiàng)運(yùn)用給定的函數(shù),如果數(shù)組中有一項(xiàng)返回true,那么就返回true
上面的5個(gè)方法中,它們都接受兩個(gè)參數(shù): 執(zhí)行函數(shù),也就是需要對(duì)每一個(gè)項(xiàng)進(jìn)行操作的函數(shù),這個(gè)函數(shù)有三個(gè)參數(shù):數(shù)組項(xiàng)的值、該項(xiàng)在數(shù)組中的位置、數(shù)組對(duì)象本身。 給定的作用域,給定一個(gè)作用域,影響給定函數(shù)的this對(duì)象。如:
var values = [5,6,7,8,9,10,11,12,13]; function actionfunc(item, index, array){console.log(this)}; values.every(actionfunc,document); //這里會(huì)向控制臺(tái)輸出6次document對(duì)象
歸并方法
除了迭代的方法之外還,javascript還提供了兩個(gè)歸并的方法,歸并就是歸檔合并,這些方法和名字一樣,都會(huì)利用給定的函數(shù)迭代數(shù)組中的每一項(xiàng),然后返回一個(gè)總值。這兩個(gè)歸并的方法分別為:
reduce() 在數(shù)組中項(xiàng)從第一個(gè)開(kāi)始一直到最后一個(gè)順向的對(duì)數(shù)組中的每一個(gè)項(xiàng)運(yùn)用給定的函數(shù),然后返回一個(gè)對(duì)數(shù)組所有項(xiàng)運(yùn)行給定函數(shù)結(jié)果的總和。
reduceRight() 在數(shù)組中項(xiàng)從最后一個(gè)開(kāi)始一直到第一個(gè)逆向的運(yùn)用給定的函數(shù),然后返回一個(gè)對(duì)數(shù)組所有項(xiàng)運(yùn)行給定函數(shù)結(jié)果的總和。
上面的兩個(gè)方法接受兩個(gè)參數(shù): 執(zhí)行函數(shù),也就是需要對(duì)每一個(gè)項(xiàng)進(jìn)行操作的函數(shù),這個(gè)函數(shù)有四個(gè)參數(shù):前一個(gè)值、當(dāng)前值、項(xiàng)的索引、數(shù)組對(duì)象本身。 歸并的基值,歸并的計(jì)算將以此值為基礎(chǔ)進(jìn)行計(jì)算。如:
var values = [5, 6, 7, 8, 9, 10, 11, 12, 13]; values.reduce(function(preitem,item,index,array){return preitem+item},2) //返回?cái)?shù)值83
以上這篇Javascript中的迭代、歸并方法詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注