如何在Swift中创建谓词以过滤具有相关值的枚举数组?

BartłomiejSemańczyk
enum EnumType {
    case WithString(String)
}

var enums = [EnumType]()

enums.append(EnumType.WithString("A"))
enums.append(EnumType.WithString("B"))
enums.append(EnumType.WithString("C"))
enums.append(EnumType.WithString("D"))
enums.append(EnumType.WithString("E"))
enums.append(EnumType.WithString("F"))

如何过滤我的enums数组以找到关联值等于的数组C我需要使用哪些谓词

塞雷佐

过滤器函数既可以作为数组的全局函数调用,也可以作为实例方法调用(我更喜欢后者,因为它比较面向对象)。

它接受带有一个参数(正在评估的元素)的闭包,该参数返回一个布尔值(指示该元素是否符合所需条件)。

由于在明显的情况下它是一个简单的闭包,因此可以使用缩写形式。

我猜想其他“ With”案例也会被添加到您的枚举中,因此您可以使用类似以下内容:

let filteredArray = enums.filter { 
    switch $0 {
      case let .WithString(value):
        return value == "C"
      default:
        return false
    }
 }

在您的示例中,这应该可以解决问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Swift:如何创建具有Int值的谓词?

如何在Swift中创建具有递增值的数组?

如何在Swift中创建具有多个变量的数组

如何在 Delphi 5 中创建具有显式值的枚举

如何在JavaScript中实现具有关联值的类似Swift的枚举?

如何在Rust中创建具有常量值的枚举?

如何在Typescript枚举中查找具有值的键?

如何在Google Data Studio中创建具有多个值的过滤器?

如何在 Python 中过滤具有特定 ID 的数组?

如何在Swift中创建对枚举的绑定?

如何在 kotlin 中创建具有可为空值的通用数组

如何在python中创建具有许多标准化浮点值的数组

如何在iOS Swift 4中获得具有范围的数组的某些值?

如何在多维数组中查找相同的值并创建仅具有唯一值的新数组?

Swift-在具有关联值的枚举数组中查找对象

如何在Swift中检查带有关联值的枚举的枚举大小写

如何在PostgreSQL中创建具有范围的数组

如何在Swift中创建货币符号的unicode值数组?

如何在Swift中解析具有对象的JSON数组

如何在python中创建具有某些值的字典

在 swift 4 中从数组中过滤/ flatMap 出具有任何 nil 值的对象

如何在具有键值对的对象数组中查找值

在 Scala 中递归创建具有多个谓词的 Spark 过滤器

如何在Swift中过滤对象数组?

如何在SQL中为具有多个关系的相关地址创建新的标识符?

如何使具有关联值的Swift枚举可等于

如何过滤对象数组并检查特定键是否在数组中具有值

在Swift中枚举多个具有相同值的案例

如何在Swift中的扩展错误类上具有不同的枚举?