在编程中,经常需要使用大于(>)或小于来比较值(
但是,使用 switch 语句进行大于/小于查询会带来挑战,因为 switch 情况需要精确匹配。不直接支持将范围或间隔表示为单个案例。
要克服此限制并利用 switch 语句的效率,请考虑以下选项:
switch (scrollLeft) { case (scrollLeft < 1000): // do stuff break; case (scrollLeft < 2000): // do stuff break; }
此方法涉及为每个边界值创建单独的案例,但它不支持多级比较。
const conditions = [ { from: 0, to: 1000 }, { from: 1000, to: 2000 }, ]; for (let i = 0; i < conditions.length; i++) { const condition = conditions[i]; if (scrollLeft < condition.from) break; if (scrollLeft < condition.to) { // do stuff for condition [i] break; } }
此方法使用数组来存储条件,每个对象代表一个范围。循环遍历条件并执行必要的比较。
在某些环境中,使用支持基于范围的比较的自定义 switch 语句是可行的。例如,在 Node.js 中:
switch (scrollLeft) { case ((scrollLeft < 1000) ? { from: 0, to: 1000 } : null): // do stuff break; case ((scrollLeft < 2000) ? { from: 1000, to: 2000 } : null): // do stuff break; }
最佳解决方案取决于比较次数和特定环境约束等因素。请参考提供的基准测试结果来指导您的选择。
以上是可以使用 Switch 语句进行大于/小于查询吗?的详细内容。更多信息请关注PHP中文网其他相关文章!