【问题标题】:Find multiple elements that are equal to a condition in array?在数组中找到多个等于条件的元素?
【发布时间】:2022-07-07 23:34:21
【问题描述】:

我是 SwiftUI 的新手,所以如果这是一个愚蠢的问题,但我遇到了一个我无法找到解决方案的问题,我深表歉意。

我正在搜索类似于下面这段代码的内容,但我不想找到第一个元素,而是想检索所有状态为 == 0 的元素。

if let new = array.first(where: {$0.status == 0}) {
   // do something with foo
} else {
   // item could not be found
}

【问题讨论】:

  • 使用.filter然后你可以过滤掉不匹配的项目。顺便说一句,这与 SwiftUI 无关,SwiftUI 只是 UI 部分,用户看到/交互的内容。

标签: ios swift


【解决方案1】:

你可以这样做:

var list = [15, 13, 0, 2, 1, 0]
var result = [Int]()
          
list.forEach { sub in
if sub == 0 {
    result.append(sub)
}
}
          
print(result)

【讨论】:

    【解决方案2】:

    Swift 集合有一个filter 方法,允许您选择所有符合给定条件的元素。您已经有一个匹配条件,因此要调整您要编写的示例文本:

    if let newItems = array.filter { $0.status == 0 }
    

    【讨论】:

      猜你喜欢
      • 2016-02-15
      • 1970-01-01
      • 2019-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-22
      • 1970-01-01
      • 2012-01-14
      相关资源
      最近更新 更多