2015-06-09 84 views
1

只是想知道,但假设你可能有10个不同的值与X进行比较,最好是写一个巨大的long条件,或者if语句的if循环,如果x == value返回true,然后如果for循环完成而不返回true,则返回false?长条件如果条件或条件为循环?

+0

或更好的**哈希表**?为了代码的可读性,我会避免巨大的'如果'的条件(这很难阅读和维护一个噩梦),我会用'for'去。从性能角度来看......你应该测量(这取决于你有多少项目和其他假设 - 比如排序 - 你可以做),但我也会考虑一个哈希表。 –

回答

1

长长的if语句对于人类和空间消耗来说很难阅读。它会比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 
} 
-1

巨人长,如果条件是不可取的,因为你可能会遇到冲突。而是使用其他条件来解决您的问题。

0

哪种编程语言使用的是?对于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 

}