2014-04-16 85 views
1

我正在使用考拉寶石來嘗試在Web應用程序中爲我自己的Facebook好友實現搜索功能。從數組/散列中選擇特定數量的項目

就我所知,gem的內置搜索功能並沒有給我選擇只搜索朋友的匹配項。所以我試圖用這種方法來實現搜索。

hash.select { |key, value| value["gender"] == "female" }.to_a.sample(100)

我要選擇和顯示每個頁面或僅少100個用戶。有沒有更好的方法來做到這一點,而不是上述方法?

+0

爲什麼你使用'sample','可枚舉#each_slice'似乎是你所需要的在這裏 – bjhaid

+1

樣品將選擇從這個散列100個隨機值。你可以在獲取數據時使用限制'hash.select {| key,value |價值[「性別」] ==「女性」} .to_a.first(100)' –

回答

0

您正在尋找each_slice

使用這個你可以遍歷在n個元素的大塊搜索結果。

(1..10).each_slice(3) {|a| p a} 
# outputs below 
[1, 2, 3] 
[4, 5, 6] 
[7, 8, 9] 
[10] 
相關問題