真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Javascript中如何實(shí)現(xiàn)reduce函數(shù)查重-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)Javascript中如何實(shí)現(xiàn)reduce函數(shù)查重的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

成都創(chuàng)新互聯(lián)是專業(yè)的龍湖網(wǎng)站建設(shè)公司,龍湖接單;提供網(wǎng)站制作、成都網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行龍湖網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

原代碼:

var arr="qweqrq"
var info= arr.split('').reduce((a,b)=>
 (a[b]++ || (a[b]=1),a)
,{})
console.log(info)

代碼思路是這樣的,先將字符串a(chǎn)rr通過(guò)split方法切割成數(shù)組,然后使用reduce,這個(gè)方法干了什么呢,分為這幾步:

1.首先reduce會(huì)接收一個(gè)callback來(lái)對(duì)數(shù)組里的每一個(gè)元素執(zhí)行,如果有第二個(gè)參數(shù)如上例:{}。,那么callback將會(huì)使用這個(gè){}作為參數(shù)來(lái)和數(shù)組中的第一個(gè)元素一同傳入callback;

2.傳入?yún)?shù)之后,會(huì)進(jìn)行一個(gè)與門短路操作,也可以叫默認(rèn)值操作,當(dāng)a[b]++成真,則返回a[b]。而這里的a為{},b為"q",很明顯a中并沒(méi)有b,執(zhí)行a[b]=1,那么就會(huì)給a[b]賦值為1,后面是一個(gè)逗號(hào)表達(dá)式,所以會(huì)返回有了a[b]:1這樣屬性的a對(duì)象;

與門短路操作:如果第一個(gè)操作數(shù)的值為true,進(jìn)行短路操作,直接產(chǎn)生第一個(gè)操作數(shù)的值。如果為false,則產(chǎn)生第二個(gè)操作數(shù)的值。

逗號(hào)表達(dá)式:逗號(hào)表達(dá)式的一般形式是:表達(dá)式1,表達(dá)式2,表達(dá)式3……表達(dá)式n。逗號(hào)表達(dá)式的求解過(guò)程是:先計(jì)算表達(dá)式1的值,再計(jì)算表達(dá)式2的值,……一直計(jì)算到表達(dá)式n的值。最后整個(gè)逗號(hào)表達(dá)式的值是表達(dá)式n的值。

3.之后要說(shuō)下reduce函數(shù),它可以將之前一次執(zhí)行后返回的結(jié)果作為參數(shù)繼續(xù)和之后的元素一同傳入callback執(zhí)行,相當(dāng)于fn(fn(fn(fn(a,b),c),d),e),fn即為callback;

4.在本例中,因?yàn)橛械诙€(gè)參數(shù){}傳入,所以callback執(zhí)行了6次。相當(dāng)于對(duì)數(shù)組中每一個(gè)元素都進(jìn)行了錄入和查重操作,比如當(dāng)callback運(yùn)行到第四次,這時(shí)的a是{q:1,w:1,e:1},執(zhí)行callback,a[b]即a['q']存在,執(zhí)行a['q']++,a['q']值為2,以此類推,最后得到的就是一個(gè)以數(shù)組每個(gè)元素為屬性名,出現(xiàn)次數(shù)為屬性值的對(duì)象。

需要注意的是,reduce是es5推出的方法,ie8及以下都不兼容。

感謝各位的閱讀!關(guān)于“Javascript中如何實(shí)現(xiàn)reduce函數(shù)查重”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


網(wǎng)站欄目:Javascript中如何實(shí)現(xiàn)reduce函數(shù)查重-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://weahome.cn/article/hphsh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部