for i in 1..<4 {
print("i: \(i)")
}
=>
i: 1
i: 2
i: 3
for i in 1...4 {
print("i: \(i)")
}
=>
i: 1
i: 2
i: 3
i: 4
let arrayData = [3, 5, 8, 10]
for data in arrayData {
print("data: \(data)")
}
=>
- forEach 要素に対して順次アクセスする。戻り値はVoid。
let array = [1,2,3,4]
var addedArray = [] as [Int]
array.forEach({ element in addedArray.append(element * 2) })
print(addedArray)
=> [2, 4, 6, 8]
- filter 要素を絞り込む。指定された条件に合致する要素だけのシーケンスを返す。
let array = [1,2,3,4]
let filtered = array.filter({element in element % 2 == 0})
print(filtered)
=> [2, 4]
let array = [1,2,3,4]
print(array.map({element in element * 2}))
print(array.map({element in String(element)}))
=>
[2, 4, 6, 8]
["1", "2", "3", "4"]
- flatMap 要素をシーケンスに変換して、さらに一つのシーケンスに連結する。
let array = [1,2,3,4]
print(array.flatMap({value in [value, value + 1]}))
=>[1, 2, 2, 3, 3, 4, 4, 5]
- compactMap nilや変換できない要素を無視して、シーケンスに変換する
let optionalNumberList: [Int?] = [1, 2, nil, 4, 5, nil]
print(optionalNumberList.compactMap { $0 })
=>
[1, 2, 4, 5]
let strings = ["1", "2", "3", "abc"]
print(strings.compactMap({value in Int(value)}))
=>
[1, 2, 3]
let array = [1,2,3,4,5]
let sum = array.reduce(0, {result, element in result + element})
print(sum)
=>
15
let array = [1,2,3,4,5]
print(array.isEmpty)
print(array.count)
print(array.first)
print(array.last)
=>
false
5
1
5
- String.Index 文字の位置を示す。
以下のようにして文字にアクセスできる。
let string = "abcde78"
print(string[string.startIndex])
=>
a
let lastIndex = string.index(string.endIndex, offsetBy: -1)
print(string[lastIndex])
=> 8
- for...where whereで条件を指定。条件に合致するものだけ、ループの中で実行される。
for i in 0...9 where i % 2 == 0 {
print(i)
}
=>
0
2
4
6
8