Javascript中的迭代、歸并方法詳解
迭代方法
在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è)參考,也希望大家多多支持腳本之家。
相關(guān)文章
javascript基礎(chǔ)之?dāng)?shù)據(jù)類型詳解
這篇文章主要介紹了如何理解JavaScript中的數(shù)據(jù)類型,幫助大家更好的學(xué)習(xí)JavaScript,感興趣的朋友可以了解下2021-11-11javascript正則匹配漢字、數(shù)字、字母、下劃線
javascript正則檢測(cè)只含有漢字、數(shù)字、字母、下劃線不能以下劃線開(kāi)頭和結(jié)尾,需要的朋友可以參考下2014-04-04三個(gè)js循環(huán)的關(guān)鍵字示例(for與while)
這篇文章主要介紹了三個(gè)js循環(huán)的關(guān)鍵字示例,主要是for與while,需要的朋友可以參考下2016-02-02javascript學(xué)習(xí)筆記整理(概述、變量、數(shù)據(jù)類型簡(jiǎn)介)
這篇文章主要介紹了javascript學(xué)習(xí)筆記整理(概述-變量-數(shù)據(jù)類型),需要的朋友可以參考下2015-10-10一個(gè)可以兼容IE FF的加為首頁(yè)與加入收藏實(shí)現(xiàn)代碼
一個(gè)可以兼容IE FF的加為首頁(yè)與加入收藏 好不容易找到,收藏起來(lái)。2009-11-11javascript 基礎(chǔ)篇2 數(shù)據(jù)類型,語(yǔ)句,函數(shù)
文章里如果有錯(cuò)誤的話,希望能幫忙指正~我也是邊看視頻邊學(xué)習(xí)中,這個(gè)算是個(gè)筆記吧~自認(rèn)為總結(jié)出來(lái)的東西比看視頻要節(jié)省點(diǎn)時(shí)間~能幫到別人最好了~幫不到也起碼恩能幫到我自己2012-03-03