array
Swift

Array(配列)をこねくり回すネタ集

More than 1 year has passed since last update.

前回の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

これからどんどん増やす予定です。