【问题标题】:TypeError: Cannot read property 'facts' of undefinedTypeError:无法读取未定义的属性“事实”
【发布时间】:2021-12-14 23:48:56
【问题描述】:

我正在尝试制作一个单词随机化器,它给了我这个错误:

            message.channel.send(item.facts);
                                      ^

TypeError: Cannot read property 'facts' of undefined

我不知道如何解决它。

这是我的代码:

const Discord = require('discord.js');

module.exports = {
    name: 'game',
    execute(message, args) {
        const gameChanger = require('../text.txt')
        const item = gameChanger[Math.floor(Math.random() * gameChanger.length)];
        setInterval(() => {
            const item = gameChanger[Math.floor(Math.random() * gameChanger.length)];
            message.channel.send(item.facts);
        }, 5 * 1000);

    }
}

谁来帮帮我

【问题讨论】:

  • const gameChanger = ...之后做console.log(gameChanger)看看它是什么,如果它是一个空数组,改变它(添加事实),因为如果数组是空的,它会导致你的问题

标签: node.js discord.js


【解决方案1】:

错误表明变量item 未定义。这可能是因为您超出了gameChanger 数组的范围,导致undefined 被分配给item

【讨论】:

  • 您能告诉我如何解决吗?我是 discord.js 的新手,所以我不完全理解。
  • gameChanger[Math.floor(Math.random() * gameChanger.length)] 可能会越界。如果长度为 0,那么它将评估为 gameChanger[0],它将返回 undefined。我建议调查一下为什么 gameChanger 是一个空数组,或者如果 execute 是空的,你可能想跳出它。
猜你喜欢
  • 2020-11-18
  • 1970-01-01
  • 1970-01-01
  • 2023-01-03
  • 2020-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多