javascript - 为什么除了 for 循环之外的所有代码都有效?
问题描述
我有一个代码,所有代码都在工作,除了 for 循环
let query = args.slice(1).join(' ');
client.database.query(`SELECT * FROM centres WHERE name="${query}"`, function (error, results, fields) {
if (error) throw error;
if (!results[0]) {
message.channel.send(msg.cs.notExist)
} else {
client.database.query(`SELECT * FROM vehicules WHERE centre="${query}"`, function (err, res, field) {
if (err) throw err;
console.log(res.length)
let i;
for (i = 0; i === res.length; i++) {
message.channel.send(res[i].name)
console.log(i)
}
/* message.channel.send(`${msg.cs.stats}${query}
${msg.abreviation.cdc}${client.functions.username(client, results[0].cdc)}
${msg.abreviation.cdca}${client.functions.username(client, results[0].cdca)}
${msg.cs.vehicule} ${results[0].vehicules}`)*/
})
}
});
我只有 4 的 res.length 输出
解决方案
i=0; i===res.length; i++
for 循环中的条件是矛盾的。最初i
是 0 并且给定循环的条件使得i
总是等于res.length
,然后在每次迭代之后i++
将递增i
。假设 res 的长度为 7。由于该条件,循环将永远不会运行,因为i
它是 0。如果i<res.length
是条件,那么它将正常工作。循环看起来像
for (i = 0; i < res.length; i++)
推荐阅读
- jquery - 我正在使用 Summernote。使用 Jquery focusout() 作为它的 div 但它不起作用
- visual-studio-code - 如何将代码从 vsCode 上传到受 IP 限制的服务器
- python - 无法将关键字“blg”解析为字段。选项包括:内容、电子邮件、id、姓名、帖子、post_id
- r - 即使在 R 的一个单元格中,如何过滤值超过 50 的列?
- reactjs - 当用户离开/刷新页面时,如何添加一个监听音频当前播放时间的功能?
- angular - 角度日期选择器未定义
- javascript - 通过将数组作为javascript中的键输入进行分组和聚合计数
- logging - 使用 log4j2 的 Spring Webflux 和非阻塞日志记录
- c# - 挂火作业的最短时间是多少
- content-management-system - 本地计算机中的 Sitefinity 站点没有任何更改,但未加载图像