Swift でよく使う基本的な配列の操作を、基本的なものからまとめました。
目次
- 配列の操作まとめ
- まとめ
配列の操作まとめ
空の配列(String型)を作成
[code]
var strArray: [String] = []
[/code]
n 番目、最初、最後の要素を取得
[code]
var array: [String] = [“A”, “B”, “C”, “D”, “E”, “F”]
print(“3番目の要素は \(array[2]) です”)
print(array.first!) //A
print(array.last!) //F
[/code]
要素の数を取得
[code]
var array: [String] = [“A”, “B”, “C”, “D”, “E”]
print(array.count) //5
[/code]
配列の空チェック
[code]
var array: [String] = [“A”, “B”, “C”]
print(array.isEmpty) //false
[/code]
配列の後ろに要素を1つ追加
[code]
var array: [String] = [“A”, “B”, “C”]
array.append(“D”)
print(array) //[“A”, “B”, “C”, “D”]
[/code]
//配列の2番目に要素を挿入する
[code]
var array: [String] = [“A”, “C”]
array.insert(“B”, atIndex:1)
print(array) // [“A”, “B”, “C”]
[/code]
3番目、最初、最後の要素を削除
[code]
var array: [String] = [“A”, “B”, “C”, “D”, “E”, “F”]
array.removeAtIndex(2)
print(array) //[“A”, “B”, “D”, “E”, “F”]
array.removeFirst()
print(array) //[“B”, “D”, “E”, “F”]
array.removeLast()
print(array) //[“B”, “D”, “E”]
[/code]
配列をソート(昇順/降順)
[code]
var array: [String] = [“D”, “F”, “E”, “A”, “C”, “B”]
sort(array) { $0 < $1 }
print(array) //["A", "B", "C", "D", "E", "F"]
sort(array) { $0 > $1 }
print(array) //[“F”, “E”, “D”, “C”, “B”, “A”]
[/code]
配列の値を逆順にする
[code]
var array: [String] = [“A”, “B”, “C”, “D”, “E”, “F”]
array.reverse()
print(array) //[“F”, “E”, “D”, “C”, “B”, “A”]
[/code]
特定の文字列があるかを調べる
[code]
if let idx: NSInteger = array.indexOfObject(“siro”) {
print(“siro は \(idx) 番目にあります”)
}
[/code]
配列から、ある値(10)より大きい値の新しい配列を作成
[code]
var array: [Int] = [0, 5, 10, 15, 20, 25, 30]
let largeArray = array.filter { $0.grade > 10 }
print(largeArray) // [15, 20, 25, 30]
[/code]
特定の要素(“X”)がなければ追加する
[code]
var strArray: [String] = [“A”, “B”, “C”]
let any = “X”
let _set: NSSet = NSSet(array: strArray)
if(!_set.containsObject(any)){
strArray?.append(any)
}
print(strArray) //[“A”, “B”, “C”, “X”]
[/code]
特定の要素(“B”)があれば削除する
[code]
var strArray: [String] = [“A”, “B”, “C”]
let any = “B”
let _set: NSSet = NSSet(array: strArray)
if(!_set.containsObject(any)){
strArray = (strArray.filter {$0 != any}
}
print(strArray) //[“A”, “C”]
[/code]
まとめ
今回は配列の基本的な操作の説明でしたが、そのほかにも map, reduce を使えば、一括で配列の値を変更できる強力なものもあります。
これらは実際に使ってみて便利だと実感したときに、投稿に加筆したいと思います。
この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。