🧹
[Rails] 配列からnilと重複値を取っ払うメソッド
nil(& 空文字)を払うメソッド
['1', '', ' ', nil, {}, [], 2].reject(&:blank?)
=>
.reject()
[1, 2, 3, 4, 5, 6].reject {|i| i % 3 == 0 }
=> [1, 2, 4, 5]
各要素に対してブロックを評価し、その値が偽であった要素を集めた新しい配列を返します。条件を反転させた select です。
blank?
nil?
+empty?
のようなメソッド。nilまたは空のオブジェクトをチェック nil, “”, “ “(半角スペースのみ), 空の配列, 空のハッシュのときにfalseを返します。Railsで拡張されたメソッドで、Rubyのみでは使えないのでご注意ください。
重複値を払うメソッド
[1, 3, 2, 2, 3].uniq # => [1, 3, 2]
uniq
は配列から重複した要素を取り除いた新しい配列を返します。 取り除かれた要素の部分は前に詰められます。要素の重複判定は、Object#eql?
により行われます。
nilと重複値を払うメソッド
['1', ' ', [], 2, 1, 3, 2].reject(&:blank?).uniq
=> [1, 2, 3]
綺麗になった。。。
References
Discussion