在Swift 3中,数组的扩展是指通过添加自定义方法或属性来增强数组的功能。以下是一些常见的数组扩展示例:
- 数组元素求和方法扩展:extension Array where Element: Numeric {
func sum() -> Element {
return reduce(0, +)
}
}使用示例:let numbers = [1, 2, 3, 4, 5]
let sum = numbers.sum() // 结果为 15
- 数组元素去重方法扩展:extension Array where Element: Equatable {
func unique() -> [Element] {
var result = [Element]()
for element in self {
if !result.contains(element) {
result.append(element)
}
}
return result
}
}使用示例:let numbers = [1, 2, 2, 3, 3, 4, 5]
let uniqueNumbers = numbers.unique() // 结果为 [1, 2, 3, 4, 5]
- 数组元素筛选方法扩展:extension Array {
func filter<T>(by keyPath: KeyPath<Element, T>, _ predicate: (T) -> Bool) -> [Element] {
return filter { predicate($0[keyPath: keyPath]) }
}
}使用示例:struct Person {
let name: String
let age: Int
}
let people = [
Person(name: "Alice", age: 25),
Person(name: "Bob", age: 30),
Person(name: "Charlie", age: 35)
]
let filteredPeople = people.filter(by: \.age) { $0 > 30 }
// 结果为 [Person(name: "Charlie", age: 35)]
这些数组扩展可以提高开发效率和代码可读性,使数组操作更加便捷。在实际应用中,根据具体需求可以自定义更多的数组扩展方法。
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。