当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Swift LazyFilterSequence firstIndex(where:)用法及代码示例


实例方法

firstIndex(where:)

返回集合元素满足给定谓词的第一个索引。

声明

func firstIndex(where predicate: (Self.Element) throws -> Bool) rethrows -> Self.Index?

返回值

predicate 返回 true 的第一个元素的索引。如果集合中没有元素满足给定谓词,则返回 nil

参数

predicate

一个闭包,它接受一个元素作为其参数并返回一个布尔值,该值指示传递的元素是否表示匹配。

详述

您可以使用谓词查找不符合 Equatable 协议的类型的元素,或查找符合特定条件的元素。下面是一个查找以字母 “A” 开头的学生姓名的示例:


let students = ["Kofi", "Abena", "Peter", "Kweku", "Akosua"]
if let i = students.firstIndex(where: { $0.hasPrefix("A") }) {
    print("\(students[i]) starts with 'A'!")
}
// Prints "Abena starts with 'A'!"

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

相关用法


注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 LazyFilterSequence firstIndex(where:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。