Swift 程序 从 Set 删除空值

Swift 程序 从 Set 删除空值

在 Swift 中,Set 用于创建一个无序的唯一元素的集合。在 Swift 中,要将空值存储在 Set 中,必须将集合定义为可选类型,因为 nil 是一个可选值。因此,要从 Set 中删除空值,我们可以使用内置的函数如 remove() 和 filter()。让我们详细讨论这两种方法以及示例。

方法 1:使用 remove(_:) 函数

remove(_:) 函数用于从给定的 Set 中删除或删除指定的元素。

语法

func remove(ele)

其中 ele 是要从指定 Set 中删除的元素。如果该函数返回一个参数值,这表示它是给定 Set 的一部分。否则返回 nil。

示例

在以下代码中,我们首先创建一个可选 Set,以存储其中的 nil 值。然后使用 remove(_:) 函数来移除该 nil 值,然后显示更新后的 Set。

import Foundation        
import Glibc

// 创建可选类型 Set 以存储 nil 值
var mySet: Set<Int?> = [23, nil, 21, nil, 98, nil]

// 从可选 Set 中移除 null
mySet.remove(nil)

print("Set:", mySet)

输出

Set: [Optional(21), Optional(98), Optional(23)]

方法 2:使用 filter(_:) 函数

Swift 提供了一个名为 filter(_: )的内置函数。这个函数用于返回一个仅包含满足给定条件的元素的集合。

语法

func filter{col}

其中 col 是取一个元素序列的闭包,返回一个布尔值,以指示给定元素是否应按照预期被包含在返回集合中。

示例

在以下 Swift 示例中,我们首先创建一个可选 Set,以存储 null 值和字符串值。然后使用 filter() 函数来创建一个仅包含非空值的新 Set,在这里我们使用 {$0 != nil} 闭包来移除 nil 值。然后使用 map() 函数将可选 Set 转换为非可选 Set,因为我们已经过滤掉了 nil 值,所以现在我们可以安全地使用强制解包运算符(’!’) 将可选值转换为非可选值。并显示 result。

import Foundation        
import Glibc

// 创建可选类型 Set 以存储 nil 值
var mSet: Set<String?> = ["mox", "fox", nil, "kox", nil, "aox"]

// 过滤掉 null 值
let newSet = mSet.filter { 0 != nil }.map {0! }

print("New Set with no null values:", newSet)

输出

New Set with no null values: ["kox", "fox", "aox", "mox"]

结论

这就是我们如何从 Set 中删除 null。在这里,不要困惑集合元素的顺序会发生变化,因为 Set 是一组无序的元素。您也无法在非可选集合中存储 nil,如果您试图这样做,您将会收到错误。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Swift 示例