console.log(imagesArr)
for (let i = 0; i < imagesArr.length; i++) {
// imgArr.push(imagesArr[i])
imgArr[i] = imagesArr[0]
}
console.log(imgArr)
循环前 打印显示数组长度为4,也有数据
长度为4
长度2.jpg循环后 打印数组 显示4 ,实际显示只有2条
这个问题很奇怪,我用了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
上图跟我我的情况差不多,当时手机截图一张,供君参考,秒过坑洞!
网友评论