はじめてのRuby!flattenメソッドで多次元配列を一次元配列にする

Rubyには多次元配列やハッシュを1次元配列にするためのflattenメソッドがあります。

  • 結合された多次元配列を1次元配列にしたい
  • ハッシュを1次元配列にしたい

そのような方に向けて、この記事ではflattenメソッドについて以下の内容を解説していきます。


【基礎】flattenメソッドとは
【基礎】flattenメソッドで多次元配列を1次元配列にする
【基礎】flattenメソッドでハッシュを1次元配列にする
【発展】破壊的メソッドflatten!の使い方

この記事ではflattenメソッドについてわかりやすく解説していますので、ぜひ参考にしてください。

flattenメソッドとは

flatten多次元の配列やハッシュ(Hash)を平坦化(1次元配列)にするためのメソッドです。

flattenの書き方

flattenメソッドは多次元の配列、ハッシュを平坦化して値を返します。

引数を指定しない場合は1次元の配列を返します。

引数を指定した場合は何階層目まで平坦化するかを指定できます。

flattenメソッドの使い方

多次元配列を1次元配列にする

まずは多次元配列を1次元配列にする方法を紹介します。

次のサンプルをご覧ください

実行結果:

このようにflattenメソッドを使用すれば、ややこしい多次元配列も1次元配列に変換できることがわかります。

また、先述したようにflattenは引数を指定することにより、何回層目まで平坦化するかを指定できます。

実行結果:

ハッシュを1次元配列にする

次にflattenメソッドでハッシュを1次元配列にする方法を紹介します。

実行結果:

このように多次元配列同様ハッシュに対して、1次元配列に変換することが可能なことがわかりますね!

flatten!の使い方

flattenには対象の配列オブジェクト自身を変更する破壊的メソッドのflatten!も使用できます。

実際に試してみましょう。

実行結果:

このように配列オブジェクト自体が変更されていることがわかりますね!

まとめ

この記事では多次元配列やハッシュを1次元配列に変換するflattenメソッドについて、以下の内容を解説しました。

  • flattenメソッドとは
  • flattenメソッドで多次元配列を1次元配列にする
  • flattenメソッドでハッシュを1次元配列にする
  • 破壊的メソッドflatten!の使い方

flattenメソッドは1次元配列に変換したいときに非常に便利ですので、使い方については覚えておきましょう。

もし、flattenメソッドの使い方を忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

ヤマシタ

エンジニア歴10年のフリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、200本以上の執筆経験があります。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説