はじめての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メソッドの使い方を忘れてしまったら、この記事を思い出してくださいね!

Rubyカリキュラム無料公開中!

この記事はRuby入門完全攻略ガイド【基礎学習/アプリ開発/仕事獲得】の一部になります。このカリキュラムは、プログラミング入門者が、基礎学習からアプリ開発、さらには仕事獲得まで体系的に学べる内容となっています。

Ruby学習に必要な情報を一つにまとめていますので効率よくRubyを学ぶことが出来ます。この機会に是非活用していただければと思います。

【Ruby入門ガイド】アプリ開発で知っておくべき知識を総ざらい
更新日 : 2018年11月23日

Rubyを最短で習得したい方へ

近年では様々なWEBサービスが流通するようになりました。

WEBサービスの普及が進むにつれて、それらを素早く開発するのに長けたRubyの人気は今後さらに増し、Rubyエンジニアの需要も自ずと増えることは間違いなしでしょう。

元々ITリテラシーの高い方や他言語を習得している方であれば、独学でRubyを習得することが可能です。

ただし、プログラミング学習をしている方の多くは

「自分に合った教材が見つけられずに挫折してしまった」
「勉強のための勉強になってしまい、ゴールが見えない」
「情報が少なくどう調べればいいかわからない」
「エラーを解決するのに何日もかかってしまう」

このような悩みを抱えたまま挫折してしまうのが現実となっています。

  • もう挫折したくない
  • 本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい
  • 自分だけのカリキュラムで効率的に勉強したい
  • WEBアプリケーション開発までしっかりサポートして欲しい
そんな方はお気軽に侍エンジニア塾までご相談ください。

お一人お一人に専属のインストラクターがつくので、初心者の方がつまづきがちな、「CookPad」、「Wantedly」、「食べログ」のようなWEBアプリケーション開発方法もスムーズに学習することできます。

実際にオリジナルWEBアプリを開発し、成果物として認められて仕事獲得に成功した塾生は数多くいます。

このように、オリジナルアプリ開発から仕事獲得まで徹底的にサポートすることでプログラミング初心者の方でも安心して基礎学習に取り組むことができます。

まずは『無料体験レッスン』で、弊社のコンサルタントと一緒にあなた専用の学習方法やカリキュラムを考えてみませんか?

Rubyならではの学習方法や、現役フリーランスRubyエンジニアから貴重なアドバイスを受けることができます。

詳しくは下の画像から弊社サービス内容をご確認ください。

ruby_a1
LINEで送る
Pocket

書いた人

ヤマシタ

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

おすすめコンテンツ

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

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