For循环不能在对象的方法中工作

时间:2018-02-18 16:16:54

标签: javascript arrays loops object for-loop

我开始处理我的记忆迷你游戏,但在开始后立即停止:( For循环对我不起作用。 我的代码:

const game = {
   ...
   shuffledCards: [],

   startGame: () => {
    ...
     // clear variables
     this.shuffledCards = [];

     for (let i = 0; i < this.cardsCount; i++) {
        this.shuffledCards.push(Math.floor(i/2));
     }
   }
}

我想生成一个类似于[0, 0, 1, 1, 2, 2...]的数组,但for循环返回一个空数组。你知道为什么吗?当我尝试将变量从this更改为普通变量并将代码粘贴到浏览器中时,它可以正常工作......

1 个答案:

答案 0 :(得分:3)

箭头功能不会继承this。您需要将代码重写为

const game = {
   ...
   startGame() {
     ...
     this....
   }
   ...
}