Ruby on rails 如何在Rails 3中获取数组元素

Ruby on rails 如何在Rails 3中获取数组元素,ruby-on-rails,ruby,ruby-on-rails-3.2,Ruby On Rails,Ruby,Ruby On Rails 3.2,我在rails 3中有这样一个数组[[SWD,150325006],[GOODS,150325006]]。我想获得类型为SWD的数字。请检查下面的代码 支付控制器.rb @供应商类型给出的值如下[[SWD,150325006],[GOODS,150325006]]。请帮帮我。试试这个: ▶ arr = [["SWD", "150325006"], ["GOODS", "150325006"]] #⇒ [["SWD", "150325006"], ["GOODS", "150325006"]] ▶

我在rails 3中有这样一个数组[[SWD,150325006],[GOODS,150325006]]。我想获得类型为SWD的数字。请检查下面的代码

支付控制器.rb

@供应商类型给出的值如下[[SWD,150325006],[GOODS,150325006]]。请帮帮我。

试试这个:

▶ arr = [["SWD", "150325006"], ["GOODS", "150325006"]]
#⇒ [["SWD", "150325006"], ["GOODS", "150325006"]]
▶ arr.select { |e| e.first == 'SWD' }.map(&:last)
#⇒ ["150325006"]
> array = [["SWD", "150325006"], ["GOODS", "150325006"]]
 => [["SWD", "150325006"], ["GOODS", "150325006"]] 
> array.select{|e| e[0] == "SWD" }.map(&:last)
 => ["150325006"] 
试试这个:

> array = [["SWD", "150325006"], ["GOODS", "150325006"]]
 => [["SWD", "150325006"], ["GOODS", "150325006"]] 
> array.select{|e| e[0] == "SWD" }.map(&:last)
 => ["150325006"] 
您可以使用:

您可以使用:


@mudasobwa:你的产品线输出为[社会福利署,商品],但我只需要那些类型为社会福利署的数字。我不知道你在说什么。上面的代码返回的正是预期的结果。@mudasobwa:您的行输出为[SWD,GOODS],但我只需要SWD类型的数字。我不知道您在说什么。上面的代码返回的正是预期的结果。@Spickerman:在添加行之后,它将作为未定义的methods last for nil类抛出错误。是否将数组更改为变量可能具有的名称@vendor\u type?@Spickerman:在添加行之后,它将作为未定义的methodos last for nil类抛出错误。是否将数组更改为名称您的变量可能有@vendor\u类型?
> array = [["SWD", "150325006"], ["GOODS", "150325006"]]
 => [["SWD", "150325006"], ["GOODS", "150325006"]] 
> array.select{|e| e[0] == "SWD" }.map(&:last)
 => ["150325006"] 
array = [["SWD", "150325006"], ["GOODS", "150325006"]]

array.assoc('SWD').last    
#=> "150325006"