2012-12-20 127 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

相關問題