如何遍历数组和搜索属性的子字符串

时间:2012-10-24 18:28:21

标签: ruby search substring

我需要遍历一系列对象广告并找到属性的名称:name包含params的子字符串[string_search]

4 个答案:

答案 0 :(得分:4)

让ary成为Ads对象的数组。 (希望你使用红宝石)

ary.find{|obj| !obj.name.match(/#{params[string_search]}/).nil?}

使用'select'代替'find'来选择所有此类对象

答案 1 :(得分:1)

这可能适合你:

ads = Ads.select do |ad|
   ad.respond_to?(:name) && ad.name =~ /#{params[:string_search]}/
end

答案 2 :(得分:0)

我认为您使用的是Ruby,因为符号:name 这应该让你朝着正确的方向,你有一个对象数组,并在:name属性中寻找刺痛的“ool”。

a = [{:name => 'no'},{:name => 'pool'}, {:name => 'cool'}]
a.find_all{|elem| elem[:name].index "ool"}

答案 3 :(得分:0)

试试这个:

#assumes your array of objects is called 'foo'
foo.select{|o| o.name =~ /#{params[:string_search]}/}