2012-12-20 125 views
0

我有一个包含一组值的数组'sub_status_arr'。检查数组中的所有元素是否都是相同的值

如果该数组中的所有元素都是52,则会显示一个按钮,否则会显示其他内容。

我试过以下,但它似乎并没有正常工作。它只是检查数组是否包含51并忽略其余部分

<%if sub_status_arr.include? 51 || 53 || 54 %> 
    display button 
<% else %> 
    do something else 
<% end %> 

如何检查数组中的所有元素是否都是52?

感谢您的建议

回答

3

我会尝试all?功能:

if sub_status_arr.all? {|ss| ss == 52} 
+0

谢谢you.It的工作很大 – Kim

+1

我可能也使用''所有,但是,这是更快?'sub_status_arr .count(52)== sub_starus_arr.size' –

+0

@LeeJarvis这是一个巧妙的把戏!不会想到这样做。我想知道速度的提高来自哪里......随着阵列尺寸增大到无穷大,它可能会被忽略。 – aardvarkk

相关问题