1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        如何解決數(shù)組塌陷?

        共 850字,需瀏覽 2分鐘

         ·

        2021-03-18 18:55

        談到數(shù)組塌陷,估計(jì)小伙伴們不知道什么意思,先看一張圖。



        從上圖我們大概明白了“塌陷”的意思,即如果刪除了數(shù)組中的某一個(gè)元素,當(dāng)前這個(gè)索引的內(nèi)容不會(huì)是空的,也不會(huì)占位,數(shù)組只會(huì)把后面的元素往前補(bǔ)上,這就導(dǎo)致后面元素原先的索引發(fā)生改變,這種現(xiàn)象就是數(shù)組塌陷。


        案例分析


        我們來(lái)看看數(shù)組塌陷帶來(lái)的苦惱。


        簡(jiǎn)單描述下,在一個(gè)數(shù)組 arr 中存放四個(gè)函數(shù) fn1,fn2,fn3,fn4,分別打印 1,2,3,4,同時(shí)第二個(gè)函數(shù)內(nèi)部刪除數(shù)組中的第一個(gè)元素 fn1。



        當(dāng)我們執(zhí)行 obj.fire() 的時(shí)候,依次會(huì)把數(shù)組中的四個(gè)函數(shù)都執(zhí)行一遍,但是由于數(shù)組塌陷的問(wèn)題,導(dǎo)致我們?cè)趫?zhí)行第二個(gè)函數(shù)(i = 1)的時(shí)候,刪除了第一個(gè)元素。



        這就導(dǎo)致后面的元素的索引全部減一,再往后執(zhí)行的 i = 2,就不再是之前的 fn3,而是是最后一個(gè)元素 fn4了,所以最終就只能打印 1,2,4。


        解決辦法


        當(dāng)我們知道數(shù)組塌陷這個(gè)原因之后,再刪除元素的時(shí)候,不應(yīng)該直接刪掉,而應(yīng)該是使用 null 替換掉當(dāng)前的元素。當(dāng)?shù)诙伪闅v數(shù)組的時(shí)候,把為 null 的元素過(guò)濾掉就 ok 了。



        了解了數(shù)組塌陷之后,再去熟悉發(fā)布訂閱模式,就不會(huì)陷入事件中心的坑了,這樣可以避免在事件調(diào)度上出現(xiàn)一些錯(cuò)誤。


        推薦閱讀:

        臃腫項(xiàng)目怎么拆?都閃開(kāi),讓 Nginx 來(lái)!

        前端配置化平臺(tái)——快速搞定活動(dòng)頁(yè)面

        基于 Vue CLI 搭建腳手架。

        破解項(xiàng)目臃腫之道:微前端落地實(shí)踐

        H5 活動(dòng)頁(yè)面快速生成神器——Mocha

        從理解 React 框架開(kāi)始,開(kāi)啟金三銀四面試之旅。

        前端典型面試題:為什么 React 選擇使用 JSX ?

        尤雨溪 3 天 10 更的 Vite 究竟有什么魔力?


        點(diǎn)個(gè)“在看”和“”吧,

        畢竟我是要成為前端網(wǎng)紅的人。

        瀏覽 61
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            久热中文字幕无均码在线观看 | 性中国xxxxsss3 | 影视先锋成人电影 | 成人18禁秘 啪啪网站网站 | 蜜桃91精品秘 成人取精库 | 大乳喷奶水www | 国产乱伦三级片 | av夜夜爱厕所操 久久久成人网 | 99re99这里只有精品国产 | 天天爱夜夜爽 |