スライドショースライドショー

はじめてのRuby!shiftメソッドで配列の最初の要素を削除する

配列には要素の追加や削除、変換などさまざまな操作が可能です。

そのため、関連するメソッドも数多く用意されています

「配列の先頭の要素を削除するにはどうすればいいの?」
「配列から指定した要素の数分削除したい」

という方に向けてこの記事では配列の先頭の要素や、先頭から指定した数分の要素を削除できるshiftメソッドについて、以下の内容で解説していきます。


・shiftとは
・shiftの使い方
・shiftで引数を指定する
・unshiftメソッドについて
・配列の基礎

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

shiftとは

shiftは配列の最初の要素を削除するためのメソッドです。

書き方:

配列オブジェクト.shift

shiftメソッドを使用すると元となる配列自身が変更されます。(削除された要素を除いた配列になります)

shiftメソッドは削除した要素を返します

空の配列を指定した場合はnillを返します。

また、shiftメソッドは引数を指定することもできます。

配列オブジェクト.shift(num)

引数numには整数を指定します。

元の配列には引数に指定した数の配列の要素を取り除いた値になります。

返り値は要素を取り除いた配列を返します。

shiftの使い方

では実際にshiftメソッドの使い方について見ていきましょう。

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

# 配列を定義
fruits = ["apple", "orange", "melon", "banana", "strawberry"]

puts "変更前:#{fruits}"

# 配列の最初の要素を削除する
puts "削除した要素:#{fruits.shift}"

puts "変更後:#{fruits}"

実行結果:

変更前:["apple", "orange", "melon", "banana", "strawberry"]
削除した要素:apple
変更後:["orange", "melon", "banana", "strawberry"]

実行結果のように「fruits.shift」の返り値には削除した最初の要素であるappleが返されています。

また、shiftメソッドを使用後の配列fruitsは最初の要素が削除されていることがわかりますね!

shiftで引数を指定する

shiftメソッドは先述したように引数を指定することができます。

引数を指定した場合は指定した数分の要素が取り除かれます。

# 配列を定義
fruits = ["apple", "orange", "melon", "banana", "strawberry"]

puts "変更前:#{fruits}"

# 配列の最初の要素を削除する
puts "削除した要素:#{fruits.shift(2)}"

puts "変更後:#{fruits}"

実行結果:

変更前:["apple", "orange", "melon", "banana", "strawberry"]
削除した要素:["apple", "orange"]
変更後:["melon", "banana", "strawberry"]

shiftメソッドを使用後の配列fruitsは指定した要素分削除されていることがわかりますね!

unshiftメソッドについて

shiftメソッドに名前が似たメソッドとしてunshiftがメソッドがあります。

unshiftメソッドはshiftとは逆に配列の先頭に引数で指定した要素が追加されます。

書き方:

配列オブジェクト.unshift(引数, ...)

引数には複数の要素を追加することができます。

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

# 配列を定義
fruits = ["apple", "orange", "melon", "banana", "strawberry"]

puts "変更前:#{fruits}"

# 配列に要素を追加する
fruits.unshift("pineapple")

puts "変更後:#{fruits}"

実行結果:

変更前:["apple", "orange", "melon", "banana", "strawberry"]
変更後:["pineapple", "apple", "orange", "melon", "banana", "strawberry"]

このようにunshiftメソッドで指定した要素pineappleが、配列の先頭に追加されていることがわかりますね!

配列についてもっと知りたい方へ

配列の基本について確認したい方は以下の記事で詳しく解説していますので、ぜひ参考にしてください。

まとめ

ここでは、配列の先頭や先頭から指定した要素分削除できるshiftメソッドについて、以下の内容で解説しました。

  • ・shiftとは
  • ・shiftの使い方
  • ・shiftで引数を指定する
  • ・unshiftメソッドについて
  • ・配列の基礎

shiftメソッドは配列の要素を先頭から削除するときに便利なメソッドですので、使い方については理解しておきましょう。

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

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

ヤマシタ

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

おすすめコンテンツ

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

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