摘要:方法是一個(gè)不可變的迭代方法,方法可以用來(lái)當(dāng)做迭代方法用,但是它事實(shí)上是操作提供的數(shù)組放回一個(gè)數(shù)組。例如也可以用來(lái)刪除數(shù)組中的一項(xiàng)中是不會(huì)映射的,所以要在返回函數(shù)中加參數(shù)。注意的是中的參數(shù)和中的參數(shù)是相反的。
each方法是一個(gè)不可變的迭代方法,map方法可以用來(lái)當(dāng)做迭代方法用,但是它事實(shí)上是操作提供的數(shù)組放回一個(gè)數(shù)組。另外一個(gè)重要的事情是each放回原始數(shù)組,map則放回一個(gè)新數(shù)組,如果你過(guò)度使map返會(huì)新數(shù)組,就要考慮到浪費(fèi)內(nèi)存的問(wèn)題。 例如:
var items = [1,2,3,4]; $.each(items, function() { alert("this is " + this); }); var newItems = $.map(items, function(i) { return i + 1; }); // newItems is [2,3,4,5]
map也可以用來(lái)刪除數(shù)組中的一項(xiàng)
var items = [0,1,2,3,4,5,6,7,8,9]; var itemsLessThanEqualFive = $.map(items, function(i) { // removes all items > 5 if (i > 5) return null; return i; }); // itemsLessThanEqualFive = [0,1,2,3,4,5]
map中this是不會(huì)映射的,所以要在返回函數(shù)中加參數(shù)。注意的是map中的參數(shù)和each中的參數(shù)是相反的。
map(arr, function(elem, index) {}); // versus each(arr, function(index, elem) {});
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/78764.html
摘要:本文同步自我得博客最近十幾天都在忙畢業(yè)論文的事,所以上一次為大家介紹完這個(gè)框架的結(jié)構(gòu)或者說(shuō)是這個(gè)框架的設(shè)計(jì)思路之后就一直沒(méi)動(dòng)靜了,今天我又滿血復(fù)活了,讓我們繼續(xù)來(lái)探索的源碼奧秘吧。 本文同步自我得博客:http://www.joeray61.com 最近十幾天都在忙畢業(yè)論文的事,所以上一次為大家介紹完underscore這個(gè)框架的結(jié)構(gòu)(或者說(shuō)是這個(gè)框架的設(shè)計(jì)思路)之后就一直沒(méi)動(dòng)靜了,今...
摘要:在中提供了方法進(jìn)行遍歷其實(shí)就是模仿了中方法,不過(guò)將于進(jìn)行了調(diào)換,下面兩種方法進(jìn)行對(duì)比一下,本身不會(huì)返回任何值判斷循環(huán)是否結(jié)束返回遍歷的數(shù)組返回遍歷的數(shù)組也是循環(huán)遍歷數(shù)組的語(yǔ)法,默認(rèn)返回一個(gè)數(shù)組數(shù)組的返回新數(shù)據(jù) forEach 在es5中提供了forEach方法進(jìn)行遍歷,其實(shí)就是模仿了jQuery中each方法,不過(guò)將 i 于v進(jìn)行了調(diào)換,下面兩種方法進(jìn)行對(duì)比一下,forEach本身不會(huì)...
摘要:在上篇文章整體架構(gòu)分析中,我們講過(guò)上面的方法有兩種掛載方式,一個(gè)是掛載到構(gòu)造函數(shù)上以的形式直接調(diào)用在后文上統(tǒng)稱構(gòu)造函數(shù)調(diào)用,另一種則是掛到上以的形式被實(shí)例調(diào)用在后文上統(tǒng)稱原型調(diào)用。 underscore源碼分析之基礎(chǔ)方法 本文是underscore源碼剖析系列的第二篇,主要介紹underscore中一些基礎(chǔ)方法的實(shí)現(xiàn)。 mixin 在上篇文章underscore整體架構(gòu)分析中,我們講...
摘要:內(nèi)部迭代與使用迭代器顯式迭代的集合不同,流的迭代操作是在背后進(jìn)行的。流只能遍歷一次請(qǐng)注意,和迭代器類似,流只能遍歷一次。 流(Stream) 流是什么 流是Java API的新成員,它允許你以聲明性方式處理數(shù)據(jù)集合(通過(guò)查詢語(yǔ)句來(lái)表達(dá),而不是臨時(shí)編寫一個(gè)實(shí)現(xiàn))。就現(xiàn)在來(lái)說(shuō),你可以把它們看成遍歷數(shù)據(jù)集的高級(jí)迭代器。此外,流還可以透明地并行處理,你無(wú)需寫任何多線程代碼了!我會(huì)在后面的筆記中...
摘要:舉例需要注意的是,此時(shí)回調(diào)函數(shù)中的指向的就是數(shù)組或者對(duì)象的某一項(xiàng)。中提供的拷貝方法,默認(rèn)為淺拷貝,如果第一個(gè)參數(shù)為布爾值則表示深拷貝。 前言 平時(shí)開發(fā)過(guò)程中經(jīng)常會(huì)用類似each、map、forEach之類的方法,Zepto本身也把這些方法掛載到$函數(shù)身上,作為靜態(tài)方法存在,既可以給Zepto的實(shí)例使用,也能給普通的js對(duì)象使用。今天我們主要針對(duì)其提供的這些api做一些源碼實(shí)現(xiàn)分析。 源...
閱讀 1327·2021-10-27 14:14
閱讀 3581·2021-09-29 09:34
閱讀 2486·2019-08-30 15:44
閱讀 1732·2019-08-29 17:13
閱讀 2577·2019-08-29 13:07
閱讀 877·2019-08-26 18:26
閱讀 3350·2019-08-26 13:44
閱讀 3215·2019-08-26 13:37