2017-12-28 8 views
2

私は以下のようなハッシュの配列を持っています。Ruby、既存のものからキー値のない配列を作成する

[{"price" => "123", "amount" => "987"}, {"price" => "432", "amount" => "13"}] 

ハッシュの配列を次のように作成します。

[["123", "987"], ["432", "13"]] 

私は私がやろうものを達成できなかった

pluckhash.map(&:first).map(&:last)を試してみました。

答えて

4

あなたはHash#valuesを使用して、各ハッシュでキーの値にアクセスすることができます。

array_of_hash_objects = [{"price" => "123", "amount" => "987"}, {"price" => "432", "amount" => "13"}] 

p array_of_hash_objects.map(&:values) 
# [["123", "987"], ["432", "13"]] 

レールを使用している場合、私はあなたが摘むを使用するが、必要な属性値、多分価格と量を渡すことができますね

Model.query.pluck(:price, :amount) 

メモクエリは、データを取得するために使用しているメソッドです。

+0

したがって、注文が正しいかどうかはどのようにわかりますか? –

+0

あなたが何を渡すか、あなたは得る。ハッシュの順序は、結果の配列の順序になります。 –

+0

'hash.map(&:values)'は完全に動作します。しかし、結果の配列の順序が異なるとあなたは言った?したがって、[["" 123 "、" 987 "]、[" 432 "、" 13 "]"または[["987"、 "123"]、["13"、 "432"]] '。しかし、私のハッシュ配列は '' {{price} = "123"、 "amount" => "987"}、{"price" => "432"、 "amount" => "13"}] 'です。何か不足していますか? –

関連する問題