配列に配列を追加する方法が知りたい
配列を使用していると、処理によっては配列に要素を追加したい場合もあります。
この記事では配列に要素を追加するpush、unshiftメソッドなどについて解説していきます。
配列に要素を追加するには
pushメソッド
pushメソッドは配列の末尾に要素を追加したいときに使用します。
配列オブジェクト.push(要素, …)
- 追加したい要素をメソッドの引数に指定します。
- 引数を複数指定した場合は最初の引数から順番に要素が追加されます。
- 返り値には変更した配列が返されます。
基本的な使い方
それではpushメソッドの使い方を見ていきましょう。
# 配列を定義 fruits = ["apple", "orange", "melon", "banana"] p fruits # 配列の要素を末尾に追加 fruits.push("strawberry") p fruits
["apple", "orange", "melon", "banana"] ["apple", "orange", "melon", "banana", "strawberry"]
配列の末尾に、pushメソッドで指定した要素であるstrawberryが追加されていることがわかりますね。
引数を複数指定する
pushメソッドは追加したい要素を複数指定することも可能です。
# 配列を定義 fruits = ["apple", "orange", "melon", "banana"] p fruits # 配列の要素を末尾に追加 fruits.push("strawberry", "pineapple") p fruits
["apple", "orange", "melon", "banana"] ["apple", "orange", "melon", "banana", "strawberry", "pineapple"]
pushメソッドで要素を複数指定することで、順番に要素が追加されていることがわかりますね。
配列の末尾に配列を追加するには
配列の末尾に配列を追加したい場合、pushメソッドの引数に配列を追加すると、以下のようになります。
# 配列を定義 fruits1 = ["apple", "orange", "melon", "banana"] fruits2 = ["strawberry", "pineapple"] # 配列を末尾に追加 fruits1.push(fruits2) p fruits1
["apple", "orange", "melon", "banana", ["strawberry", "pineapple"]]
しかし、配列の中に配列が追加されてしまうので、意図した結果にはなりません。そのため、配列の末尾に配列を追加したい場合はconcatメソッドを使用すると便利です。
以下はconcatメソッドを使用した配列の結合方法です。
# 配列を定義 fruits1 = ["apple", "orange", "melon", "banana"] fruits2 = ["strawberry", "pineapple"] # 配列を末尾に追加 fruits1.concat(fruits2) p fruits1
["apple", "orange", "melon", "banana", "strawberry", "pineapple"]
concatメソッドについては、以下の記事で詳しく解説していますのでぜひ参考にしてください。
配列の先頭に要素を追加するには
unshiftメソッドは配列の先頭に引数で指定した要素が追加されます。
配列オブジェクト.unshift(引数, …)
使い方:
# 配列を定義 fruits = ["apple", "orange", "melon", "banana"] p fruits # 配列に要素を追加する fruits.unshift("pineapple") p fruits
["apple", "orange", "melon", "banana"] ["pineapple", "apple", "orange", "melon", "banana"]
配列でよく使うメソッド
配列の基本やここで紹介した追加方法以外のよく使うメソッドについては、以下の記事で詳しく解説しています。
まとめ
ここでは、配列に要素を追加するpushメソッドについて、以下の内容を解説しました。
- pushとは
- pushの使い方
- pushで複数要素を指定する方法
- 配列を末尾に追加する方法
配列の末尾に要素を追加したいときはpushメソッドが便利ですので、使い方については理解しておきましょう。
もし、pushメソッドの使い方を忘れてしまったら、この記事を思い出してくださいね!