every部分
diffArr.forEach(([, i2]) => {
this.figures.every((figure, index) => {
let src = methods.$('img', figure).src;
if (src === nextImgs[i2]) {
this.figures.splice(index, 1);
return false;
}
return true;
});
});
为什么当当前图片和下一组图片的src一样的时候,要删除当前图片的索引呢?而且代码的意思是有一个相同,就删除索引,并且返回false吧?那样怎么判断后面的图片有没有相同的呢?感觉代码的意思是全部都不相同了才会返回true啊?
正在回答
同学你好,问题解答如下:
1.要理解,这里只是删除了this.figures中相同的图片,并没有说是移除页面中的相同的图片。同学看一下代码,figures移除了相同的图片,剩余的就是不同的。那么把不同的隐藏,后续又会在图片容器中移出它们,所以页面中剩余的就是相同的图片哦。
2.forEach中使用return,只是跳出当前循环,不会跳出整个循环的。所以这里会继续判断后面的图片。return没有什么用,不加return 也可以哦。
祝学习愉快~
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星