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]
之前。Move
var alive=dead.map((v,i)=>!v?loca[i]:null)过滤器(v=>v!=null)dead[0]=1下的code>

您的
alive
变量永远不会及时更新,因为它发生在您更新
dead[0]
之前。Move
var 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(", ")); }
    }