You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让setInterval每次执行时随机输出字符串数组的不同元素?

问题解决:实现每次输出随机数组元素

问题根源

你当前代码里的randomElement是在setInterval外部定义的,只会在代码初始化时计算一次随机值,后续定时器触发时只会重复使用这个固定值,所以输出始终相同。

修复代码

把随机元素的计算逻辑移到定时器的回调函数内部,让每次定时器执行时都重新生成随机元素:

const data = [m1, m2, m3, m4, m5];

setInterval(function() {
  // 每次执行时重新挑选随机元素
  const randomElement = data[Math.floor(Math.random() * data.length)];
  minecraftBot.chat(randomElement);
  console.log("Sent Message " + randomElement);
}, interval);

预期效果

修改后,每次定时器触发都会从数组data中随机选取一个元素,输出会符合你的需求:

m1
m5
m4
m3
...

内容的提问来源于stack exchange,提问作者Fourtywwiadjs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 13:22:40