forEach循环后输出的只是最后一个数据吗?

如代码所示,foreach循环后生成的数据只是最后一个吗?我console.log(index);控制台能打出来0,1,2,3,4啊,但是最后显示在页面上的图片都是case:4 时的图片。

 this.items.forEach((item:any) => {

                  // var index = this.items.indexOf(item);

                  // console.log(index);

                     // this.index.push(index);

                  switch (this.items.indexOf(item)){

                      case 0: this.imgSrc ='assets/liangshi.png';

                        break;

                      case 1: this.imgSrc ='assets/xiela.png';

                        break;

                      case 2: this.imgSrc ='assets/xuansuo.png';

                        break;

                      case 3: this.imgSrc ='assets/ganggou.png';

                        break;

                      case 4: this.imgSrc ='assets/gongqiao.png';

                        break;

                      default:

                        this.imgSrc = 'assets/ICON4TEST.png';

                  }

              });

这个是显示在页面上的效果,图片全是最后一个 

https://img.mukewang.com/5c136d950001b44f02800251.jpg

守候你守候我
浏览 1705回答 1
1回答

森林海

你使用了同一个变量来传递图片,最后肯定都被gongqiao.png给覆盖了啊。如果你想针对数组中每一个元素存储一个对应的图片,你应该用一个数组啊。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript