摘要:一數(shù)組每個(gè)元素都執(zhí)行一次回調(diào)函數(shù)二檢測(cè)數(shù)值元素的每個(gè)元素是否都符合條件三檢測(cè)數(shù)組元素中是否有元素符合指定條件四檢測(cè)數(shù)值元素,并返回符合條件所有元素的數(shù)組五將數(shù)組元素計(jì)算為一個(gè)值從左到右以上回調(diào)函數(shù)只是手寫(xiě)簡(jiǎn)化版,無(wú)法傳參數(shù),若有誤或建議,請(qǐng)
一、myForEach
//myForeach 數(shù)組每個(gè)元素都執(zhí)行一次回調(diào)函數(shù) Array.prototype.myForEach = function(callback){ for(var i = 0 ; i < this.length ; i++){ var element = this[i]; callback(element,i,this); } }
//myEvery 檢測(cè)數(shù)值元素的每個(gè)元素是否都符合條件 Array.prototype.myEvery = function(callback){ for(var i = 0 ; i < this.length ; i++){ var item = this[i]; if(!callback(item,i,this)){ return false; } } return true; }
//mySome 檢測(cè)數(shù)組元素中是否有元素符合指定條件 Array.prototype.mySome = function(callback){ for(var i = 0 ; i < this.length ; i++){ var item = this[i]; if(callback(item,i,this)){ return true; } } return false; }
//myFilter 檢測(cè)數(shù)值元素,并返回符合條件所有元素的數(shù)組 Array.prototype.myFilter = function(callback){ for(var i = 0 ; i < this.length ; i++){ var item = this[i]; if(callback(item,i,this)){ arr[temp] = item; temp++; } } return arr; }
//myReduce 將數(shù)組元素計(jì)算為一個(gè)值(從左到右) Array.prototype.myReduce = function(callback,initialValue){ var num = 0; if (initialValue != undefined) { total = initialValue; }else{ total = this[0]; num = 1; } for(i = num ; i < this.length ; i++){ var item = this[i]; total = callback(total,item,i,this); } return total; }
以上回調(diào)函數(shù)只是手寫(xiě)簡(jiǎn)化版,無(wú)法傳this參數(shù),若有誤(或建議),請(qǐng)指正。 ^_^
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/52324.html
摘要:一數(shù)組每個(gè)元素都執(zhí)行一次回調(diào)函數(shù)二檢測(cè)數(shù)值元素的每個(gè)元素是否都符合條件三檢測(cè)數(shù)組元素中是否有元素符合指定條件四檢測(cè)數(shù)值元素,并返回符合條件所有元素的數(shù)組五將數(shù)組元素計(jì)算為一個(gè)值從左到右以上回調(diào)函數(shù)只是手寫(xiě)簡(jiǎn)化版,無(wú)法傳參數(shù),若有誤或建議,請(qǐng) 一、myForEach //myForeach 數(shù)組每個(gè)元素都執(zhí)行一次回調(diào)函數(shù) Array.prototype.myForEach = fu...
摘要:語(yǔ)法中接口可以包含實(shí)現(xiàn)方法,需要使用修飾,此類(lèi)方法稱(chēng)為默認(rèn)方法。核心特性接口默認(rèn)方法就介紹到這里了,后續(xù)小樂(lè)會(huì)繼續(xù)講述核心特性。 JAVA8已經(jīng)發(fā)布很久,是自java5(2004年發(fā)布)之后Oracle發(fā)布的最重要的一個(gè)版本。其中包括語(yǔ)言、編譯器、庫(kù)、工具和JVM等諸多方面的新特性,對(duì)于國(guó)內(nèi)外互聯(lián)網(wǎng)公司來(lái)說(shuō),Java8是以后技術(shù)開(kāi)發(fā)的趨勢(shì)。這里主要講解在開(kāi)發(fā)中幾個(gè)核心的新特性。(主要從...
javascript -- 回調(diào)函數(shù) 在高級(jí)語(yǔ)言層出不窮的年代, 各個(gè)語(yǔ)言都號(hào)稱(chēng)有著一切皆為對(duì)象的自豪說(shuō)法, 而 js 作為一門(mén)腳本語(yǔ)言卻相對(duì)于java等傳統(tǒng)面向?qū)ο笳Z(yǔ)言有很大的不同之處, 除了 js 詭異的繼承體系之外, 最令人著迷的一個(gè)特性就是回調(diào)函數(shù), 當(dāng)然也有很多人對(duì)他詬病, 筆者認(rèn)為 回調(diào)函數(shù) 和 異步 是js語(yǔ)言特性的兩大最為突出的店, 當(dāng)然正如所有優(yōu)點(diǎn)需要滿(mǎn)足自我的需求, 這個(gè)世界...
摘要:加粗文字不管是還是在下都不兼容不兼容的情況下在上沒(méi)有這兩個(gè)方法那么需要我們自己封裝一個(gè)都兼容的方法,代碼如下遍歷數(shù)組回調(diào)函數(shù)上下文下自己編寫(xiě)回調(diào)函數(shù)執(zhí)行的邏輯遍歷數(shù)組回調(diào)函數(shù)上下文下自己編寫(xiě)回調(diào)函數(shù)執(zhí)行的邏輯 原理: 高級(jí)瀏覽器支持forEach方法 語(yǔ)法:forEach和map都支持2個(gè)參數(shù):一個(gè)是回調(diào)函數(shù)(item,index,list)和上下文; forEach:用來(lái)遍歷數(shù)組中...
閱讀 1798·2021-10-18 13:34
閱讀 3983·2021-09-08 10:42
閱讀 1617·2021-09-02 09:56
閱讀 1664·2019-08-30 15:54
閱讀 3202·2019-08-29 18:44
閱讀 3356·2019-08-26 18:37
閱讀 2289·2019-08-26 12:13
閱讀 528·2019-08-26 10:20