swift

swiftで多次元配列の削除




こんにちわ、yatsureです。
突然ですが、今さっきハマった問題を解決できたので、さらっと。

早速ですが、例えば
var array: [[String]] = [[1,2],[3,4]]

と宣言した後、0番目の次元にあたる[1,2]を丸ごと消し飛ばし
print(test) // [[3,4]]
となって欲しい時があるとします。

方法は簡単で
array.remove(at: 0)

これでいけます。

何故こんなことを記事にしたかというとですね
例えば
var array: [[String]] = [[1,2]]
と宣言した後に、上記のような
[[1,2],[3,4]]
という 2次元配列のボックスを追加して作りたい時、appendメソッドを使いますが、宣言の仕方が
array.append("3","4")
ではエラーになります。ちゃんと
array.append(["3","4"])
というように、[]で囲って上げる必要があります。
いやわかるよ?それはわかるんすよ。
ただ、だからこそ私は削除するときに悩んでしまったわけです。

array.remove(at: [0])
array[0].removeAll()
...etc...etc...

ハマりました。
しかも、本にもネットにも載ってない(´;ω;`)
プレイグラウンド最高ですやん。。。

僕と同じような人は少ないと思いますが、同じ思考回路だった方は是非参考にしてください。




-swift