在程式設計中,經常需要使用大於(>)或小於來比較值(
但是,使用 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中文網其他相關文章!