Techioz Blog

2次元配列の最初のメンバーに値が存在するかどうかを確認する方法

概要

2次元配列の最初の値のいずれかが、テストしている値を持つかどうかを確認しようとしています。配列はこんな感じ

[[2,5],[3,1],[4,1]]

配列の最初のメンバー (ここでは 2 または 3 または 4) のみをチェックしたい

1次元配列に対してこのようなことを行っていますが、2次元配列では機能しません

[:cart] << [id, 1] unless [:cart].include?(id)

解決策

どれでも使えますか?これを達成するための列挙可能な関数は次のようになります

[:cart] << [id, 1] unless [:cart].any? {|arr| arr[0] == id}