开发者社区> 问答> 正文

Ruby数组:select(),collect()和map()

映射语法:

a = ["a", "b", "c", "d"] #=> ["a", "b", "c", "d"] a.map {|item|"a" == item} #=> [true, false, false, false] a.select {|item|"a" == item} #=> ["a"] 询问我是否有:

irb(main):105:0> details[1] => {:sku=>"507772-B21", :desc=>"HP 1TB 3G SATA 7.2K RPM LFF (3 .", :qty=>"", :qty2=>"1", :price=>"5,204.34 P"} 我想删除此数组上具有空数量值的每个条目,或仅选择其中具有某些值的条目。

我试过了:

details.map {|item|"" == item} 只是返回很多错误,然后当我使用相同的只是改变地图来选择我得到:

[] 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 11:32:41 392 0
1 条回答
写回答
取消 提交回答
  • 看起来像是details散列数组。因此item,您的块中将是整个哈希。因此,要检查:qty密钥,您需要执行以下操作:

    details.select{ |item| item[:qty] != "" } 这将为您提供所有:qty键不是空字符串的项目。

    2020-02-08 11:33:02
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载