1

B_array既存の配列Aに基づいて新しい配列を作成したいと思いますA_array。のそのアイテムにA_array特定のフィールドがある場合は、それをに追加しB_arrayます。

現在、これは私が持っているものであり、すべてを入れていますB_array

B_array = A_array.map {|item| if item.name == 'Josh'}

A_array:

[id:0,name:"Josh",email:"josh@josh@gmail.com"],
[id:1,name:"Scott",email:"scott@josh@gmail.com"],
[id:2,name:"Josh",email:"dan@josh@gmail.com"]

必要な出力B_array

[id:0,name:"Josh",email:"josh@josh@gmail.com"],
[id:2,name:"Josh",email:"dan@josh@gmail.com"]

ありがとう!

4

1 に答える 1

6

使用.select

a = [{id:0,name:"Josh",email:"josh@josh@gmail.com"},
     id:1,name:"Scott",email:"scott@josh@gmail.com"}]
b = a.select { |i| i[:name] == 'Josh' }

.select与えられた条件に基づいてフィルタリングし、テストに合格した要素の配列を返します。

于 2012-07-12T00:03:05.963 に答える