LoginSignup
5
6

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-07-06

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

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

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6