摘要:緣起最近看油管里面有一個(gè)關(guān)于面試的視頻,里面提到了可能會(huì)讓你寫一寫等函數(shù),于是也來(lái)一起小拔高拔高。于是知道我們寫的回調(diào)會(huì)被調(diào)用,并且傳一個(gè)進(jìn)來(lái)。其中累加值的初始值是我們傳的,如果我們沒傳,那么累加值的初始值就會(huì)是數(shù)組的第一個(gè)元素。
緣起:最近看油管里面有一個(gè)關(guān)于js面試的視頻,里面提到了可能會(huì)讓你寫一寫reduce等函數(shù),于是也來(lái)一起小拔高拔高。先寫寫map
首先回憶平時(shí)是如何使用的map。
// const newarr = arr.map(v=>v*v)
于是知道我們寫的回調(diào)會(huì)被map調(diào)用,并且傳一個(gè)v進(jìn)來(lái)。
Array.prototype.myMap = function (callback){ const newArray = [] this.forEach(ele => { newArray.push(callback(ele)) }) return newArray }開始寫reduce
先上mdn查查reduce的具體參數(shù)和用法。
// const afterReduceVal = arr.reduce((acc,cur,idx,src)=>{ do something and return acc},init)
也就是說reduce會(huì)調(diào)用我們的回調(diào),并且傳給我們累加值acc,當(dāng)前值cur,當(dāng)前索引idx,源數(shù)組src。其中累加值的初始值是我們傳的init,如果我們沒傳,那么累加值的初始值就會(huì)是數(shù)組的第一個(gè)元素。
Array.prototype.myReduce = function(callback,init) { let acc,idx; if(init){ acc = init // 檢測(cè)我們是不是傳了init idx = 0 } else { acc = this[0] idx = 1 } for(let i = idx;istackblitz
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/98905.html
摘要:實(shí)現(xiàn)首先可以寫一個(gè)殼子函數(shù),包裹一個(gè)將要反復(fù)遞歸調(diào)用自身的函數(shù)。如果是引用型,將對(duì)應(yīng)的賦值為遞歸拷貝。另外在中需要使用進(jìn)行判斷,因?yàn)槲覀冎幌肟截愖陨淼膶傩浴? 最近想全職當(dāng)碼農(nóng),面試時(shí)候被問到了深拷貝,我噼里啪啦說了一通,感覺很牛逼,問我自己寫過沒有,我說沒有,但是我可以寫。其實(shí)我很心虛,估計(jì)現(xiàn)場(chǎng)寫會(huì)卡殼。。。。。 思路 深拷貝需要迭代拷貝對(duì)象的所有屬性,如果屬性是引用型:Object,...
摘要:站在這個(gè)時(shí)間點(diǎn)上,我對(duì)自己之前三次失敗的面試經(jīng)歷做了一次深度回顧。關(guān)于我第三次面試失敗的經(jīng)歷,依然是與輪播圖有關(guān)。當(dāng)然,這次思特奇面試之旅,最后也是以失敗告終,這也是我離進(jìn)大廠最近的一次。 showImg(https://segmentfault.com/img/bVYQuP?w=528&h=513); 前言 時(shí)間的齒輪已經(jīng)來(lái)到了2017年的11月份,距離2018年僅僅還剩下不到兩...
摘要:站在這個(gè)時(shí)間點(diǎn)上,我對(duì)自己之前三次失敗的面試經(jīng)歷做了一次深度回顧。關(guān)于我第三次面試失敗的經(jīng)歷,依然是與輪播圖有關(guān)。當(dāng)然,這次思特奇面試之旅,最后也是以失敗告終,這也是我離進(jìn)大廠最近的一次。 showImg(https://segmentfault.com/img/bVYQuP?w=528&h=513); 前言 時(shí)間的齒輪已經(jīng)來(lái)到了2017年的11月份,距離2018年僅僅還剩下不到兩...
閱讀 3812·2021-11-23 09:51
閱讀 1115·2021-11-19 11:30
閱讀 3438·2019-08-29 14:16
閱讀 3428·2019-08-29 12:12
閱讀 2432·2019-08-26 13:40
閱讀 3582·2019-08-26 12:21
閱讀 3129·2019-08-26 11:55
閱讀 2301·2019-08-26 11:35