Ruby on rails 在解析的json中选择,将id与id数组进行比较
我需要过滤数组结果(通过解析的json获取) 如果我知道确切的id,我可以使用Ruby on rails 在解析的json中选择,将id与id数组进行比较,ruby-on-rails,arrays,json,Ruby On Rails,Arrays,Json,我需要过滤数组结果(通过解析的json获取) 如果我知道确切的id,我可以使用 @my_art = ele_art.select { |articolo| articolo['id'] == 456 } 现在我有了一个名为@myarray的id数组,我需要在ele_art中只选择数组中id为的项 读取我拥有的阵列: [279, 276] 我试过了 @my_art = ele_art.select { |articolo| articolo['id'] == @myarray } 或 没有运
@my_art = ele_art.select { |articolo| articolo['id'] == 456 }
现在我有了一个名为@myarray的id数组,我需要在ele_art中只选择数组中id为的项
读取我拥有的阵列:
[279, 276]
我试过了
@my_art = ele_art.select { |articolo| articolo['id'] == @myarray }
或
没有运气
我该如何解决呢?
@my_array
是和id
s的数组,因此,在这种情况下,您需要检查articolo['id']
是否包含在@myarray
中。对于这些情况,Ruby中的Array
类具有include?
方法,该方法接收对象
,如果该对象是否包含在数组中,则返回true/false
因此,在您的情况下,尝试以下方法:
@my_art = ele_art.select { |articolo| @myarray.include?(articolo['id']) }
我明白了,所以,在@myarray中,您有
[279276]
?,在这种情况下,请尝试:@my_art=ele_art.select{articolo |@myarray.include?(articolo['id')}
。如果有帮助,请告诉我。太好了!!这解决了我的问题!如果您在answare中转换注释,我可以标记解决方案IT!;-)
@my_art = ele_art.select { |articolo| @myarray.include?(articolo['id']) }