Swift 数组3: for遍历

2022-05-13  本文已影响0人  YourSummer
1. 遍历所有元素
// 基础遍历所有元素
for item in array {
    print("item = \(item)")
}
2. enumerated: 遍历数组的下标和元素
for (index, item) in array.enumerated() {
    print("item = \(item)")
    print("index = \(index)")
}
3. reversed: 逆序遍历
for item in array.reversed() {
    print("item = \(item)")
}
4. reversed&enumerated: 逆序+遍历元素和下标
let array = [0, 1, 2, 3, 4, 5]
for (index, value) in array.reversed().enumerated() {
    print("index = \(index) : value = \(value)")
}

// 或者使用
for item in array.enumerated().reversed() {
    print("index = \(item.offset) : value = \(item.element)")
}

log 结果: 
index = 0 : value = 5
index = 1 : value = 4
index = 2 : value = 3
index = 3 : value = 2
index = 4 : value = 1
index = 5 : value = 0
5. enumerated&reversed: 遍历元素和下标+逆序
let array = [0, 1, 2, 3, 4, 5]
for (index, value) in array.enumerated().reversed() {
     print("index = \(index) : value = \(value)")
}

或者使用
for item in array.enumerated().reversed() {
    print("index = \(item.offset) : value = \(item.element)")
}

log 结果: 
index = 5 : value = 5
index = 4 : value = 4
index = 3 : value = 3
index = 2 : value = 2
index = 1 : value = 1
index = 0 : value = 0
// 注意对比 4 和 5 的log 结果
6. 默认遍历出的元素是常量, 亦即 let, 想要遍历并更改元素:
不建议这样使用, 建议map
let array = [0, 1, 2, 3, 4, 5]
var temp: [Int] = []
for var item in array {
  item = 100
  temp.append(item)
}
print("temp = \(temp)")
log 结果: [100, 100, 100, 100, 100, 100]
7. 遍历符合条件的元素
// 遍历值大于2 的元素
for item in array where item > 2 {
    print("item = \(item)")
}
// 遍历下标大于2 的元素
for item in array.enumerated() where item.offset > 2 {
    print("item = \(item)")
}

// 结合2 & 3 可以试试另一种写法
8. forEach: 遍历
// 普通
array.forEach { (value) in
    print("value = \(value)")
}

// 遍历下标和元素
array.enumerated().forEach { (item) in
    print("index = \(item.offset) : value = \(item.element)")
}

// 逆序遍历
array.reversed().forEach { (value) in
    print("value = \(value)")
}
上一篇 下一篇

猜你喜欢

热点阅读