我有一個名爲@friend_comparisons的數組,它填充了許多用戶對象。我然後使用以下對數組進行排序:獲取滿足一定標準的數組項目數
@friend_comparisons.sort! { |a,b| b.completions.where(:list_id => @list.id).first.counter <=> a.completions.where(:list_id => @list.id).first.counter }
這是通過排序與每個用戶相關聯的特定計數器的陣列(其細節並非的問題是重要的)。
我想知道數組中有多少個用戶對象有一個大於某個數的計數器(比方說5)。我該怎麼做呢?
這裏是我當前如何解決這個問題:
@friends_rank = 1
for friend in @friend_comparisons do
if friend.completions.where(:list_id => @list.id).first.counter > @user_restaurants.count
@friends_rank = @friends_rank + 1
end
end
我需要通過每個數組項迭代和檢查情況,然後剔添加到計數器,如果條件是遇到或有沒有辦法做到這一點,而不使用迭代計數器? – Alex