rubyでmapやselectで配列の中身を取り出す


rubyで配列中身を取得や判定するのにmapやselectを使うと便利でした。

配列を定義

mapやselectのテストを行うためにテスト用の配列を定義します。

a = {{id: 1, count: 2}, {id: 2, count: 10}}

配列内に、ハッシュが2つはいった配列を用意しました。

selectで配列の中身を検索する

selectを使って配列の中にあるキーがcount、値が2のハッシュを検索します。

a.select{|i| i[:count] == 2 }
=> [{:id=>1, :count=>2}]

ハッシュが入った配列が返りました。

mapで配列の中身を判定する

mapを使うと配列内の値に対して判定を記述することできます。キーがcount、値が2のハッシュを判定します。

a.map{|i| i[:count] == 2}
=> [true, false]

trueとfalseの判定結果が入った配列が返りました。

mapで帰った配列を判定する

trueとfalseが返ってきたので、中の配列にtrueが入っているかを調べます。

a.map{|i| i[:count] == 2}.include?(true)
=> true

includeを使ったところtrueが返りました。

まとめ

selectやmapを使うと配列の検索がかなり捗るようになりました。
ありがとうございます(☝ ՞ਊ ՞)


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です