面试题答案
一键面试- 使用
for - in
循环:这是最常见且性能较好的遍历方式。它直接遍历数组元素,避免了额外的索引计算开销。
let numbers = [1, 2, 3, 4, 5]
for number in numbers {
print(number)
}
- 使用
for
循环并结合stride
:适用于需要按特定步长遍历数组的场景,在某些情况下可减少不必要的迭代,提升性能。
let numbers = [1, 2, 3, 4, 5]
for i in stride(from: 0, to: numbers.count, by: 2) {
print(numbers[i])
}
- 避免在循环内进行大量计算或频繁的数组操作:例如在遍历数组时避免多次获取数组的
count
属性,因为每次获取count
都需要一定开销。可以在循环开始前先获取数组长度并存储在一个常量中。
let numbers = [1, 2, 3, 4, 5]
let count = numbers.count
for i in 0..<count {
print(numbers[i])
}
- 使用
forEach
方法:适用于简单的遍历操作,它是基于for - in
实现的语法糖。
let numbers = [1, 2, 3, 4, 5]
numbers.forEach { number in
print(number)
}
但需要注意,如果闭包中有复杂逻辑,可能会因为闭包的开销导致性能不如 for - in
循环。