小程序 数组长度与实际不一致?

2019-08-05  本文已影响0人  nCov
console.log(imagesArr)
     
    for (let i = 0; i < imagesArr.length; i++) {
     // imgArr.push(imagesArr[i])
      imgArr[i] = imagesArr[0]
      
    }
    
    
 console.log(imgArr)

循环前 打印显示数组长度为4,也有数据


长度为4

循环后 打印数组 显示4 ,实际显示只有2条

长度2.jpg

这个问题很奇怪,我用了1天的时间终于爬出此坑,特写此文纪念一下!其实很简单、很基础
原因是console记录的是打印的那个点的状态,而后必然有的操作,因此造成数值不一致。

我就在代码后面 就所有 循环 删除操作

//错误的操作
let imagesArr=["cloud://1.jpg",
                   "cloud://2.jpg",
                   "cloud://3.jpg",
                   "cloud://4.jpg"
                   
                    ]
    
        origimage = [],    
        imgArr = [];  
       

        console.log(imagesArr)
     
    for (let i = 0; i < imagesArr.length; i++) {
           imgArr.push(imagesArr[i])
              
      
    }
    
    
   
   
   imgArr.forEach(function(e,k){
      if(e.search(/cloud/) != -1){
           origimage.push(e)
           imgArr.splice(k,1)
         }

    })


  console.log(origimage)
来源网络,侵权请联系.jpg

上图跟我我的情况差不多,当时手机截图一张,供君参考,秒过坑洞!

上一篇 下一篇

猜你喜欢

热点阅读