0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

配列のメソッドまとめ!

Posted at

こんにちは!

最近雨模様が続いてますね...

梅雨が明けて真夏の日々が待ち遠しいです:relaxed:(←夏生まれ)

はい!

今回は、ブロックを扱う配列のメソッドの中でも、特に使用頻度の高いメソッドをまとめていきます!

それではLet's GO!

mapメソッド

mapメソッドは各要素に対してブロックを評価した結果を新しい配列に返します!

具体例を交えながら説明していきますね!

例えば、以下のように配列の各要素に5を足した新しい配列を作るコードがあります。

sample.rb
numbers = [0,1,2,3,4,5]
plus_numbers = []
numbers.each do |number|
  plus_numbers << number + 5
end

plus_numbers #=> [5,6,7,8,9,10]

ここでmapメソッドの登場です!!!

mapメソッドを使うと、ブロックの返り値が配列の要素となる新しい配列が形成されるため、mapメソッドの返り値をそのまま変数に入れることができます!

それでは見てみましょう!

sample.rb
numbers = [0,1,2,3,4,5]
plus_numbers = numbers.map do |number|
  number + 5
end

plus_numbers #=> [5,6,7,8,9,10]

selectメソッド

selectメソッドは、各要素に対してブロックを評価して、その返り値が真の要素を集めた配列を返すメソッドです!

同じく具体例を交えながら説明していきますね!

例えば、以下のようにすると、"e"を含んだ値だけを集めた配列を新たに作ることができます!

sample.rb
colors = ["red","blue","yellow","black"]
new_colors = colors.select do |color|
  color.include?('e')
end

new_colors #=> ["red","blue","yellow"]

rejectメソッド

rejectメソッドはselectメソッドの反対で、ブロックの返り値が真になった要素を除外した配列を返します!

例えば、以下のようにすると、"e"を含んだ値を除いた配列を新たに作ることができます!

sample.rb
colors = ["red","blue","yellow","black"]
new_colors = colors.reject do |color|
  color.include?('e')
end

new_colors #=> ["black"]

findメソッド

findメソッドは、ブロックの返り値が真になった最初の要素を返します!

例えば、以下のようにすると、"e"を含んだ最初の要素を返します!

sample.rb
colors = ["red","blue","yellow","black"]
new_colors = colors.find do |color|
  color.include?('e')
end

new_colors #=> ["red"]

以上となります!

配列のメソッドは使い方次第でとても便利なので知っておくだけでもかなり幅が広がると思いました!

何かご意見等ございましたら、お気軽にコメントお願いします!

ご静聴ありがとうございました!:relaxed:

0
1
0

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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?