LoginSignup
1
1

More than 5 years have passed since last update.

選択項目リストに対応する項目のリストを返す

Posted at

項目の情報をもったリスト['a', 'b', 'c', 'd']に対して
選択/非選択の情報(bool値)をもったリスト[1, 0, 0, 1]で
フィルターした結果['a', 'd']を返す書き方で悩んだ

options = %w(赤座あかり 歳納京子 吉川ちなつ 船見結衣 池田千歳 杉浦綾乃 大室櫻子 古谷向日葵)
# => ["赤座あかり", "歳納京子", "吉川ちなつ", "船見結衣", "池田千歳", "杉浦綾乃", "大室櫻子", "古谷向日葵"]

selects = [false, true, false, true, false, false, true, true]
# => [false, true, false, true, false, false, true, true]

selected_options = options.zip(selects).select { |item| item[1] }.map { |item| item[0] }
# => ["歳納京子", "船見結衣", "大室櫻子", "古谷向日葵"]

もっと綺麗な書き方を探している

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1