ryota21silvaの技術ブログ

Funna(ふんな)の技術ブログ

これまで学んだ技術の備忘録。未来の自分が救われることを信じて

mapメソッドでループする(ついでにreject(&:blank?)とflattenを使ってる)

わざわざ空配列を用意するのダサいし、冗長。

@food_lists = []

food_labels.each do |food_label|
  @food_lists = Food.search_by_label(food_label)
end

mapメソッドを使う。
reject(&:blank?)で配列からnilと空文字を除く。
flattenで多次元配列を一次元配列にする。

food_lists = food_labels.map do |food_label|
  Food.with_label(food_label)
end

# 空配列を削除し、多次元配列を一次元配列にする
@food_lists = food_lists.reject(&:blank?).flatten
 food_labels = response.responses.map do |res|
  res.label_annotations.map do |label|
    label.description
  end
end

# mapと&:を使えばシンプルに
food_labels = response.responses.map do |res|
  res.label_annotations.map(&:description)
end

techracho.bpsinc.jp

qiita.com

techacademy.jp

www.rubydoc.info