Swiftで配列を結合する4つの方法!

swift

Swiftで2つの配列を結合する方法について書いています。
配列の結合をするには、下記の4つの方法があります。

・`+`演算子を使う
・`+=`演算子を使う
・appendメソッドを使う
・flatMapメソッドを使う

サンプルコードは、Swiftバージョン5.8.1で検証しています。

プラス(+)演算子で結合する

+演算子を使うことで、配列を結合することができます。
例えば、下記のように使うことができます。

let fruits1 = ["orange", "grape", "apple"]
let fruits2 = ["peach", "banana"]

let fruits = fruits1 + fruits2

print(fruits) // ["orange", "grape", "apple", "peach", "banana"]

最初にfruits1fruits2の変数に対して、それぞれ配列を作成しています。

その次の処理で、ふたつの配列を+演算子で結合しています。
これで、結合された配列が返ってくるので、fruits変数で受け取っています。

print関数で確認すると「["orange", "grape", "apple", "peach", "banana"]」と出力されました。
結合されたことが確認できました。

プラス(+=)演算子で結合する

+=演算子を使うことで、+演算子を使うよりも短く書いて、配列を結合することができます。
例えば、下記のように使うことができます。

var fruits1 = ["peach", "grape", "banana"]
let fruits2 = ["orange", "lemon"]

fruits1 += fruits2

print(fruits1) // ["peach", "grape", "banana", "orange", "lemon"]

先ほどと同じようにfruits1fruits2の変数に配列を作成しています。
fruits1変数に結合した内容を格納するため、varで宣言しています。

次の処理で、+=演算子を使っています。
これでfruits2配列の内容が、fruits1配列に結合されて加えられます。

print関数で確認すると「["peach", "grape", "banana", "orange", "lemon"]」と出力されました。
ふたつの配列が結合されました。

appendメソッドで結合する

appendメソッドを使うことでも、結合することができます。
例えば、下記のように使うことができます。

var fruits1 = ["kiwi", "cherry", "blueberry"]
let fruits2 = ["banana", "apple"]

fruits1.append(contentsOf: fruits2)

print(fruits1) // ["kiwi", "cherry", "blueberry", "banana", "apple"]

先ほどと同じようにfruits1fruits2の変数に配列を作成しています。
次の処理で、fruits1変数からappendメソッドを呼び出しています。

名前付き引数のcontentsOfを使って、結合したい配列を渡します。
こうすることで、呼び出し元のfruits1配列に結合されます。

print関数で確認すると「["kiwi", "cherry", "blueberry", "banana", "apple"]」と出力されました。

flatMapメソッドで結合する

flatMapメソッドを使うことでも、配列を結合することができます。
例えば、下記のように使うことができます。

let fruits1 = ["grape", "peach"]
let fruits2 = ["apple", "kiwi"]

let fruits = [fruits1, fruits2].flatMap({ $0 })

print(fruits) // ["grape", "peach", "apple", "kiwi"]

同様にしてfruits1fruits2の変数に配列を作成しています。

次の処理で、配列に対して2つの配列を入れて、flatMapメソッドを呼び出しています。
こうすることで、並べた配列の内容をフラットにして、ひとつに結合します。

結果をfruits変数で受け取って、print関数で出力しました。
確認すると「["grape", "peach", "apple", "kiwi"]」と出力され、結合されたことが確認できました。

Swiftで配列を結合する方法まとめ

今回はSwiftで配列を結合する方法について書きました。
記事の内容をまとめると、下記のようになります。

・`+`演算子を使って、配列を結合することができた。
・`+=`演算子を使って、左辺に足し込むように結合することができた。
・appendメソッドでも、contentsOfで配列を渡すと結合できる。
・flatMapを配列から呼び出して、配列の中の配列をフラットなひとつの配列にできた。

コメント

タイトルとURLをコピーしました