代码如下,考虑到i的循环问题,用闭包把i传了进去,,里面的console.log中image是正确的,但是push进去后最终得到的imageList却全部都是1,好奇怪,不知道是哪里写错了
const sliderImages = [{a:1},{a:2},{a:3},{a:4},{a:5},{a:6}]
const imageList = [];
const len = Math.ceil(12 / 6);
for (let i = 0; i < len; i++) {
(function (index) {
sliderImages.forEach((image) => {
image.fancybox = `list-${index}`;
console.log('image', image);
imageList.push(image);
})
})(i);
}
console.log('imageList', imageList);
内部的console.log都是有0、有1后缀的
push出来的全部都是1了
第二次循环把对象的这个之改掉了