映射的语法:

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"}

我想删除这个数组中每个数量值为空的条目,或者只 Select 其中有一些值的条目.

我试过:

details.map {|item|"" == item}

只需返回大量false,然后当我使用相同的Just change map Select 时,我得到:

[]

推荐答案

看起来details是一个散列array.所以你街区里的item个就是整个散列.因此,要判断:qty键,需要执行以下操作:

details.select{ |item| item[:qty] != "" }

这将为您提供所有项目,其中:qty键不是空字符串.

official select documentation

Ruby相关问答推荐

如何通过语法将Ruby Sorbet签名突出显示为不强调的 comments ?

Ruby迭代器与函数.返回函数的第一个值,而不交互整个列表

在 ruby​​ 中提取文档中的主题标签和部分

使用 Drive API 创建空文件

如果 Java 人go Scala,C# go F#,那么 Ruby 人go 哪里寻求函数式?

Ruby vs Scala - 各自的优缺点

如何增加 ruby​​ 应用程序的堆栈大小.递归应用程序获取:堆栈级别太深(SystemStackError)

Rspec: expectvsexpect什么区别?

我应该签入.ruby-gemset和/或.ruby-version吗?

如何以不同 colored颜色 输出我的 ruby​​ 命令行文本

Sinatra 是多线程的吗?

如何在没有 Rails 的情况下使用 RSpec?

如何在 Mac OS X Lion 中安装 Ruby 1.9.3?

如何修复错误的 URI 不是 URI

Ruby 在特定目录中运行 shell 命令

class << self vs self.method with Ruby:什么更好?

Ruby:捕获异常后继续循环

如何在 Capistrano v3 的服务器上运行 shell 命令?

如何删除已安装的 ri 和 rdoc?

为什么 Ruby 有 TrueClass 和 FalseClass 而不是一个布尔类?