Written by Kasumi

Rubyで同じ要素の数の配列を作成する方法【mapメソッドを使おう】

Rubyで同じ要素の数の配列を新たに作成する簡単な方法を知りたい。

本記事ではこのような悩みを解決。

実装方法について解説します。

mapメソッドを使って同じ要素数の配列を作成

array = [10,20,30]

array02 = array.map { |value| value*2 }

p array02

# 出力結果
# [20, 40, 60]

同じ要素数の新たな配列を作成するコード例です。

mapメソッドを使います。

使い方は以下の通りです。

配列.map { |変数| 実行処理 }

mapメソッドの引数に任意の変数を入れます。

上記引数に入れた変数に配列要素が代入されます。

コード例だと、実行処理にvalue*2と記述されており、同じ要素数で倍かけされた値が入ってる新たな配列が生成されます。

ハッシュでmapメソッドを使う

array = {"リンゴ"=>100, "ブドウ"=>200, "みかん"=>300}
array02 = array.map{|key, value| [key, value*2]}.to_h

p array02
# 出力結果
#{"リンゴ"=>200, "ブドウ"=>400, "みかん"=>600}

ハッシュ(連想配列)でも同様にmapメソッドを使って同じ要素数の配列を新たに作成する事ができます。

使い方は以下の通りです。

配列.map{|キー, 値| [キーの実行処理, 値の実行処理]}.to_h

ハッシュの場合、mapメソッドは戻り値に配列を返します。

なので配列をハッシュに変換するto_hメソッドを使いましょう。

まとめ

mapメソッドを使って、同じ要素の数の配列を新たに作成する方法について紹介しました。

以上で解説を終わります。

目次

関連記事

Ruby

Rubyで繰り返し処理を使い、配列要素を展開する方法

2022.07.28
693
Ruby

RubyのHash(連想配列)で要素を追加・更新・削除する方法

2022.07.29
1443
Ruby

Rubyで文字列・配列の要素数を調べる方法【lengthメソッドを使おう】

2022.07.27
387
Ruby

Rubyでif文を使い条件分岐する方法【一行に省略する方法も紹介】

2022.08.09
810