【问题标题】:Select a specific number of items from an array/hash从数组/哈希中选择特定数量的项目
【发布时间】:2014-04-16 17:50:27
【问题描述】:

我正在使用 Koala gem 尝试在网络应用程序中为我自己的 Facebook 朋友实现搜索功能。

据我所知,gem 的内置搜索功能没有让我选择仅搜索朋友以查找匹配项。所以我正在尝试使用这种方法实现搜索。

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

我只想选择并显示每页 100 个或更少的用户。有没有比上述方法更好的方法?

【问题讨论】:

  • 你为什么用sampleEnumerable#each_slice似乎是你需要的
  • sample 将从这个哈希中选择 100 个随机值。您可以在获取数据时使用限制使用hash.select { |key, value| value["gender"] == "female" }.to_a.first(100)

标签: ruby-on-rails ruby facebook-graph-api koala


【解决方案1】:

你正在寻找each_slice

使用它,您可以在 n 个元素的块中迭代搜索结果。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-29
    • 1970-01-01
    • 2019-02-12
    • 1970-01-01
    • 1970-01-01
    • 2016-08-21
    • 2021-08-03
    相关资源
    最近更新 更多