Javascript Discord.js如何在数组变量更改后操作变量以使文本输出显示
这段代码最终实现了我所需要的功能,但其实现过程是不正确的。Javascript Discord.js如何在数组变量更改后操作变量以使文本输出显示,javascript,discord,discord.js,Javascript,Discord,Discord.js,这段代码最终实现了我所需要的功能,但其实现过程是不正确的。 它应该将死数组的第一个索引更改为1或0,然后发送消息。 当前,它发送消息,然后更改值。除了行话之外,它不会像应该的那样从输出中删除值 L0所需输出的用户输入:k 当前输出:目标:L0、R0、L1、R1、L2、R2、L3、R3 所需输出:Tagets:R0、L1、R1、L2、R2、L3、R3 我现在已经删除了额外的玩家,因为我可以分发更改。 如果与R0相关联的用户随后输入k,则输出为R0、L1、R1、L2、R2、L3、R3 这表明代码正在
它应该将死数组的第一个索引更改为1或0,然后发送消息。 当前,它发送消息,然后更改值。除了行话之外,它不会像应该的那样从输出中删除值 L0所需输出的用户输入:
k
当前输出:目标:L0、R0、L1、R1、L2、R2、L3、R3
所需输出:
Tagets:R0、L1、R1、L2、R2、L3、R3
我现在已经删除了额外的玩家,因为我可以分发更改。如果与R0相关联的用户随后输入
k
,则输出为R0、L1、R1、L2、R2、L3、R3
这表明代码正在更改索引,但它正在注册更改之前发送消息。这可能是由于放置或使用了活动变量 您的
alive
变量永远不会及时更新,因为它发生在您更新dead[0]
之前。Movevar alive=dead.map((v,i)=>!v?loca[i]:null)过滤器(v=>v!=null)dead[0]=1下的code>代码> 您的alive
变量永远不会及时更新,因为它发生在您更新dead[0]
之前。Movevar alive=dead.map((v,i)=>!v?loca[i]:null)过滤器(v=>v!=null)dead[0]=1下的code>代码> 现在问题是什么?我如何获得dired输出?请澄清你到底需要什么根据这更好吗?现在问题是什么?我如何获得dired输出?请澄清你到底需要什么根据这更好吗?这会导致以下错误:C:\Users\maver\Documents\TestBot\test.js:67如果(msg.content.toLowerCase()==“k”){dead[0]=1;msg.channel.send(
目标:+alive.join(,”);};^TypeError:无法读取未定义的`的属性
join`这会导致以下错误:C:\Users\maver\Documents\TestBot\test\test.js:67如果(msg.content.toLowerCase()=“k”){dead[0]=1;msg.channel.send(
目标:+alive.join(,”);};^TypeError:无法读取未定义的属性`
var Playe0;
var loca = ['L0', 'R0', 'L1', 'R1', 'L2', 'R2', 'L3', 'R3'];
var dead = [0, 0, 0, 0, 0, 0, 0, 0];
bot.on("message", function (msg) {
var alive = dead.map((v, i) => !v ? loca[i] : null).filter(v => v != null);
if (msg.content === "!p0") { Player0 = msg.author.id; msg.channel.send(`Registered`); }
if (msg.author.id === Player0) {
if (msg.content === "k") {
dead[0] = 1;
msg.channel.send(`Targets: ` + alive.join(", ")); }
}