Swift中如何查找数组内所有满足status==0条件的元素
筛选数组所有符合条件元素的实现方法
直接使用数组的filter方法即可,不需要使用返回首个匹配元素的first(where:),参考代码如下:
// 取出所有status等于0的元素,结果为同类型元素组成的数组 let zeroStatusItems = array.filter { $0.status == 0 } if zeroStatusItems.isEmpty { // 无匹配元素的处理逻辑 } else { // 所有匹配元素都存储在zeroStatusItems中,可直接遍历或使用 for item in zeroStatusItems { // 处理单个匹配元素的逻辑 } }
filter方法的返回值始终是数组类型,即使没有匹配到任何元素也会返回空数组,不需要做可选类型解包,直接通过isEmpty属性就能判断是否存在符合条件的元素。- 如果是在SwiftUI视图中使用,你可以直接把过滤后的数组传入
ForEach做列表渲染,空数组场景下列表会自动展示为空状态,不需要额外做分支判断。
内容的提问来源于stack exchange,提问作者Gladium
相关产品推荐
相关产品推荐

