搜尋

首頁  >  問答  >  主體

javascript - 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';
                  }
              });

這個是顯示在頁面上的效果,圖片全是最後一個

#
高洛峰高洛峰2749 天前663

全部回覆(3)我來回復

  • 世界只因有你

    世界只因有你2017-05-19 10:11:07

    你使用了同一個變數來傳遞圖片,最後一定都被gongqiao.png給覆蓋了啊。
    如果你想針對數組中每一個元素儲存一個對應的圖片,你應該用一個數組啊。

    回覆
    0
  • 仅有的幸福

    仅有的幸福2017-05-19 10:11:07

    可能是因為this.imgSrc最後取的值是4,前面的值沒儲存或沒進行後續操作

    回覆
    0
  • 阿神

    阿神2017-05-19 10:11:07

    不要在javascript的箭頭函數裡用this
    不要在javascript的箭頭函數裡用this
    不要在javascript的箭頭函數裡用this

    回覆
    0
  • 取消回覆