我有一个关于If
函数的问题,如果条件1为真,我想继续条件2,依此类推,最后将记录所有的结果,但目前只有在条件1为真的情况下才不会继续,这是代码:
if (data1[0].themes[0].title) {
message.channel.send(data1[0].themes[0].title)
console.log(`1 sent`)
} else if (data1[0].themes[1].title) {
message.channel.send(data1[0].themes[1].title)
console.log(`2 sent`)
} else if (data1[0].themes[2].title) {
message.channel.send(data1[0].themes[2].title)
console.log(`3 sent`)
}
else message.channel.send(`no result`)
发布于 2021-10-23 03:34:59
这就是你想要实现的吗?我假设'title‘属性包含一些布尔值( if语句中的条件需要一个true或false值)。这将检查每个条件并发送消息。如果没有发送数据,它将在通道中广播“no result”。
let sent = false
if (data1[0].themes[0].title) {
message.channel.send(data1[0].themes[0].title)
sent = true
console.log(`1 sent`)
}
if (data1[0].themes[1].title) {
message.channel.send(data1[0].themes[1].title)
sent = true
console.log(`2 sent`)
}
if (data1[0].themes[2].title) {
message.channel.send(data1[0].themes[2].title)
sent = true
console.log(`3 sent`)
}
if (!sent) {
message.channel.send(`no result`)
}
发布于 2021-10-23 03:23:34
它是条件分支,您应该将条件2移动到condition1内部
if(condition1) {
if (condition2) {
} else if (conditio3) {
} else ...
} else {
}
https://stackoverflow.com/questions/69684838
复制相似问题