Swift Set filter()

filter()方法会从集合中返回所有满足给定条件的元素。

示例

var numbers: Set = [2, 3, 6, 9]

// return all the elements greater than 5 var result = numbers.filter({ $0 > 5})
print(result) // Output: [6, 9]

filter() 语法

filter() 方法的语法是

set.filter(condition)

其中,setSet 类的一个对象。


filter() 参数

filter() 方法接受一个参数:

  • condition - 一个闭包,接受一个条件并返回一个 Bool 值。

filter() 返回值

  • 返回集合中所有满足给定条件的元素

示例 1: Swift Set filter()

var languages: Set = ["Swedish", "Nepali", "Slovene", "Norwegian"]

// return all the elements that start with "N" var result = languages.filter( { $0.hasPrefix("N") } )
print(result)

输出

["Nepal", "Norwegian"]

在上面的程序中,请注意闭包的定义:

{ $0.hasPrefix("N") }

这是一个简短的闭包,用于检查集合中的所有元素是否都以 "N" 开头。

$0 是指向传递到闭包的第一个参数的快捷方式。

闭包根据条件返回一个 Bool 值。如果条件为

  • true - 保留该集合值
  • false - 丢弃/忽略该集合值

最后,所有以 "N" 开头的元素都存储在 result 变量中。


示例 2: 从集合中仅返回偶数

var numbers: Set = [2, 4, 5, 7, 8, 9]

// check if all elements are even numbers or not var result = numbers.filter({ $0 % 2 == 0 })
print(result)

输出

[2, 4, 8]
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战