为什么它在 activity 中只显示其中一个?不和谐 js v13

why it shows just one of them in activity? discord js v13

我有这个代码:

con.query(`SELECT * FROM count WHERE default = 'true'`, (err, row) => {
        activities = [
            `${row[0].members} Members`,
            `${row[0].channels} Channels`
        ];
    });
    setInterval(() => {
        const randomIndex = Math.floor(Math.random() * (activities.length - 1) + 1);
        const newActivity = activities[randomIndex];
        client.user.setActivity(`${newActivity}`, { type: 'WATCHING' });
    }, 10000);

我检查了 sql mysql 一切正常,它只显示其中一个(它必须每 10 秒更改一次状态,但它不起作用) 并且没有错误

感谢您的帮助

请记住,JavaScript 中的数组从 0 开始,从数组中获取随机元素的公式为 array[Math.floor(Math.random() * array.length)];

在您的例子中,您使用的是公式 activities[Math.floor(Math.random() * (activities.length - 1) + 1)]。因此,数组将始终获得索引 1

我明白了。 是的,这是真的 JavaScript 从 0 开始, 从数组中获取随机元素的公式是 var item = activities[Math.floor(Math.random() * activities.length)]; 所以我不得不删除 this : const newActivity = activities[randomIndex]; 并使活动 像这样 :

数组( ${${row[0].members} Members, ${${row[0].channels} Channels );

谢谢