配列には要素の追加や削除、変換などさまざまな操作が可能です。
そのため、関連するメソッドも数多く用意されています
「配列の先頭の要素を削除するにはどうすればいいの?」
「配列から指定した要素の数分削除したい」
という方に向けてこの記事では配列の先頭の要素や、先頭から指定した数分の要素を削除できる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メソッドについて忘れてしまったら、この記事を思い出してくださいね!