【问题标题】:Long If Condition or For Loop with If Condition?长 If 条件或带有 If 条件的 For 循环?
【发布时间】:2015-08-24 04:32:33
【问题描述】:

只是想知道,但假设您可能有 10 个不同的值与 X 进行比较,那么最好编写一个巨大的长 if 条件,或者一个带有 if 语句的 for 循环,如果 x == 值则返回 true,并且如果 for 循环结束但没有返回 true,则返回 false?

【问题讨论】:

  • 或者更好的散列表?为了代码的可读性,我会避免使用巨大的if 条件(很难阅读并且维护是一场噩梦),我会选择for。从性能的角度来看......你应该衡量(这取决于你有多少项目和任何其他假设 - 比如订购 - 你可以做),但我也会考虑一个哈希表。

标签: if-statement for-loop


【解决方案1】:

长长的 if 语句对于人类和占用空间来说将难以阅读。不过它会比 for 循环稍微快一点,但这不应该打扰您。

更好的方法是在一个单独的函数中创建 for 循环,该函数返回布尔值或将比较值存储在数组中并检查如下内容:

var array = [1,2,3,4,5]

if(array.contains(x))
{
    // x is one of the values
}
else
{
   // x is not in the values
}

【讨论】:

    【解决方案2】:

    您使用的是哪种编程语言?对于 PHP 让我们使用 php 的 in_array() 函数来尝试一下。

     $arr_value = array("value1", "value2", "value3", "value4"); //set matching values
    
     if(in_array($original_value, $arr_value))
     {
    
      //true block
    
     }
     else
     {
    
      //false block
    
     }
    

    【讨论】:

      【解决方案3】:

      Giant long if 条件不可取,因为您可能会遇到冲突。而是使用 if else 条件来解决您的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-26
        • 1970-01-01
        • 2023-03-15
        • 2012-08-18
        • 2017-10-22
        • 1970-01-01
        • 2012-06-04
        相关资源
        最近更新 更多