javascript - 即使我定义了 TypeError 变量,也没有定义它
问题描述
所以我用 Javascript 制作了一个游戏,它涉及从“Deck”中抽取卡片我使用了这段代码,但得到了错误“TypeError:card_name is not defined”
const draw_card = () => {
let drawn_times = 0;
let drawn_card = Math.round(Math.random() * 52);
let card_name = cards[drawn_card];
while (true) {
for (i in cards_drawn) {
if (i == card_name[0]) {
drawn_times ++;
}
}
if (!(drawn_times > decks)) {
cards_drawn.push(card_name[0])
break;
}
drawn_card = Math.round(Math.random() * 52);
card_name = cards[drawn_card];
}
return card_name;
}
draw_card();
我似乎无法找到为什么这种情况不断发生,任何人都可以发现我可能错过的任何事情
请注意,cards_drawn 变量是一个空数组,cards 变量是一个包含 52 个卡片名称的数组,其中的值类似于 ["2 of clubs", 2]
解决方案
你在哪里声明变量“卡片”?问题出在第 4 行,let card_name = cards[drawn_card];
您尝试从似乎不存在的变量“cards”中获取特定元素。
推荐阅读
- javascript - 如何在前端多选下拉(或)多选格式化程序中获取后端数据
- xml - XSLT 选择多个同名属性
- node.js - 创建docker镜像时如何在应用程序路径上添加文件
- java - 在两个 json 文档之间创建合并补丁时出现 Nullpointer 异常
- typescript - Nuxt TypeScript:无法分配给“名称”,因为它是只读属性
- docker - 关于 docker -v 不起作用的问题 --> /srv/monero/chain:/home/monero/.bitmonero
- amazon-web-services - Terraform 语法有助于将来自两个实例的实例 ID 包含到单个数组中
- oauth-2.0 - OAuth 2.0 - 刷新令牌仅在使用访问令牌后有效?
- apache-pulsar - Pulsar 一个应用程序中的多个客户端
- java - 春天有没有常见的NoSQLTemplate