前回のStringをこねくり回すに続いて、Arrayのネタ集つくりました。
自分用メモな感じです。
1. Array.dropFirst() .dropLast()
配列の一番最初の値をなくす / 最後の値をなくす。
let arr = ["Mike","Betty","Joe","Heather","Cathy","Malcom"]
print(arr.dropFirst()) //["Betty", "Joe", "Heather", "Cathy", "Malcom"]
print(arr.dropLast()) //["Mike", "Betty", "Joe", "Heather", "Cathy"]
print(arr) // ["Mike","Betty","Joe","Heather","Cathy","Malcom"]
※メモ:arrayにletコンスタントがついてるので解るように、元々の配列arrは変更されない。
arr自体に変更を加えたい場合は、append()やpopLast()などを使おう
2. Array.popLast()
配列の最後を抜き取る!
var arr = ["Mike","Betty","Joe","Heather","Cathy","Malcom"]
print(arr.popLast()) // Malcom
print(arr) // ["Mike", "Betty", "Joe", "Heather", "Cathy"]
このように、配列の最後だけ抜き取られています。元のデータも変更されるので、配列はvarで指定する。
3. Array.append(Any)
配列の最後にItemをぶち込む
var elements = [5,3,2,1,4,7,4,5]
elements.append(12)
print(elements) // [5,3,2,1,4,7,4,5,12]
4. Array.insert(newElement: , at: Int)
指定した好きなところにItemをぶち込む。append()と似てますがちょっと違う。
var elements = [5,3,2,1,4,7,4,5]
elements.insert(10, at: 3)
print(elements) // [5, 3, 2, 10, 1, 4, 7, 4, 5]
at: IntはIndexの数字です。なので、4番目加えられています。(arrayのindexは0から始まるため)
5. Array.index()色々!
せっかく前回でindexの話が出たのでまとめていきたいと思います。
var elements = [5,3,2,1,9,7,4,5]
index(of: Any)
例) 数字の4がいるところのindexを引っ張ってきている
if let index = elements.index(of: 4) {
print(index) // 6
}
Stringでやった場合
var elements = ["Nate", "Cate", "Sasha", "Goro", "Gugu", "Imo"]
if let index = elements.index(of: "Nate") {
print(index) // 0
}
index(after: Int) , index(before: Int)
単純に指定したindex + 1, index - 1。使い道がよくわかってない。
let index2 = elements.index(after: 4)
print(index2) // 5
let index3 = elements.index(before: 2)
print(index3) // 1
.startIndex , .endIndex
let index4 = elements.startIndex
print(index6) // 0
let index5 = elements.endIndex
print(index5) // 8
print(elements.count) //8 .countと同じ。
6. Array.remove(at: index)
index番目のアイテムをArrayから抜く。
せっかくなので、itemを探し出してからremove()しましょう。
var elements = [5,3,2,1,9,7,4,5]
if let index = elements.index(of: 4) {
elements.remove(at: index)
print(elements) //[5, 3, 2, 1, 9, 7, 5]
}
7. Array.min, Array.max
let numbers = [1, 6, 3, 9, 4, 6]
numbers.min() // 1
numbers.max() // 9
09/01/2017 追記
8. 2D Array
初期化
var array:[[Int]] = []
for i in 0...5{
for j in 0...5{
array.append([i,j])
}
}
print(array[3]) // [0,3]
print(array[4][1]) // 4
print(array[3][1]) // 3
print(array)の結果
[[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5],
[1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5],
[2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5],
[3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5],
[4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5],
[5, 0], [5, 1], [5, 2], [5, 3], [5, 4], [5, 5]]
Array.map