我的问题是,当我执行程序并插入指令时,我没有看到在数组 2d 中打印新值。
print() {
// I can prin the array, thanks design6726512087 he is in the forum of codecademy
console.clear();
this._fields.forEach(rows => {
console.log(rows.join(''));
});
}
playGame() {
while (!this.gameOver) {
this.print();
const promptInputUser = prompt("Instructions to move is: {u as up}, {d as down}, {l as left} & {r as right}.\nWich is your path? ");
// Call the function to move into array
this.instructionsToMove(promptInputUser);
}
console.log("Game Over");
}
当我调用 playGame() 中的函数来打印数组中的指令时,却抛出一个问题:TypeError: Cannot read properties of undefined (reading 'forEach')。 我也希望你能理解我的英语不是更好,但我正在努力写。
您需要在调用
_fields
之前声明print();
并初始化它
或者在您的 print()
函数中,您应该首先验证它是否存在。
错误消息明确告诉您,您正在调用的对象
foreach
未定义。在这种情况下,这意味着 this._fields
不存在,因此您无法对其调用操作。
一种解决方案是将代码更改为:
print() {
// I can prin the array, thanks design6726512087 he is in the forum of codecademy
console.clear();
if (this._fields) {
this._fields.forEach(rows => {
console.log(rows.join(''));
});
}
}
虽然您没有提供实现,但我们可以假设
初始化了this.instructionsToMove(promptInputUser);
变量_fields