Javascript中的迭代、歸并方法詳解
迭代方法
在Javascript中迭代方法個(gè)人覺得尤為重要,在很多時(shí)候都會有實(shí)際上的需求,javascript提供了5個(gè)迭代方法來供我們操作,它們分別為:
every() 對數(shù)組中的每一個(gè)項(xiàng)運(yùn)用給定的函數(shù),如果每項(xiàng)都返回true,那么就會返回true
filter() 對數(shù)組中的每一個(gè)項(xiàng)運(yùn)用給定的函數(shù),把返回true的項(xiàng)組成一個(gè)新數(shù)組并返回
forEach() 對數(shù)組中的每一項(xiàng)運(yùn)用給定的函數(shù),但是沒有任何的返回值
map() 對數(shù)組中的每一個(gè)項(xiàng)運(yùn)用給定的函數(shù)并返回每次函數(shù)調(diào)用的結(jié)果組成新的數(shù)組
same() 對數(shù)組中的每一個(gè)項(xiàng)運(yùn)用給定的函數(shù),如果數(shù)組中有一項(xiàng)返回true,那么就返回true
上面的5個(gè)方法中,它們都接受兩個(gè)參數(shù): 執(zhí)行函數(shù),也就是需要對每一個(gè)項(xiàng)進(jìn)行操作的函數(shù),這個(gè)函數(shù)有三個(gè)參數(shù):數(shù)組項(xiàng)的值、該項(xiàng)在數(shù)組中的位置、數(shù)組對象本身。 給定的作用域,給定一個(gè)作用域,影響給定函數(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還提供了兩個(gè)歸并的方法,歸并就是歸檔合并,這些方法和名字一樣,都會利用給定的函數(shù)迭代數(shù)組中的每一項(xiàng),然后返回一個(gè)總值。這兩個(gè)歸并的方法分別為:
reduce() 在數(shù)組中項(xiàng)從第一個(gè)開始一直到最后一個(gè)順向的對數(shù)組中的每一個(gè)項(xiàng)運(yùn)用給定的函數(shù),然后返回一個(gè)對數(shù)組所有項(xiàng)運(yùn)行給定函數(shù)結(jié)果的總和。
reduceRight() 在數(shù)組中項(xiàng)從最后一個(gè)開始一直到第一個(gè)逆向的運(yùn)用給定的函數(shù),然后返回一個(gè)對數(shù)組所有項(xiàng)運(yùn)行給定函數(shù)結(jié)果的總和。
上面的兩個(gè)方法接受兩個(gè)參數(shù): 執(zhí)行函數(shù),也就是需要對每一個(gè)項(xiàng)進(jìn)行操作的函數(shù),這個(gè)函數(shù)有四個(gè)參數(shù):前一個(gè)值、當(dāng)前值、項(xiàng)的索引、數(shù)組對象本身。 歸并的基值,歸并的計(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中的迭代、歸并方法詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript中的typeof操作符用法實(shí)例
在Web前端開發(fā)中,我們經(jīng)常需要判斷變量的數(shù)據(jù)類型。鑒于ECMAScript是松散類型的,因此需要有一種手段來檢測給定變量的數(shù)據(jù)類型——typeof就是負(fù)責(zé)提供這方便信息的操作符。2014-04-04
簡單介紹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方法入門實(shí)例(用于把字母轉(zhuǎn)換為小寫)
這篇文章主要介紹了JavaScript字符串對象toLowerCase方法入門實(shí)例,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)與算法之棧與隊(duì)列
在面向?qū)ο蟮某绦蛟O(shè)計(jì)里,一般都提供了實(shí)現(xiàn)隊(duì)列(queue)和堆棧(stack)的方法,而對于JS來說,我們可以實(shí)現(xiàn)數(shù)組的相關(guān)操作,來實(shí)現(xiàn)隊(duì)列和堆棧的功能,看下面的相關(guān)介紹.2016-01-01
JavaScript link方法入門實(shí)例(給字符串加上超鏈接)
這篇文章主要介紹了JavaScript link方法入門實(shí)例,link方法用于給字符串加上超鏈接,需要的朋友可以參考下2014-10-10

