Swift 程序从字典中删除空值

swiftserver side programmingprogramming更新于 2025/9/21 3:52:17

有时字典包含空值,因此为了删除这些空值,Swift 提供了一个名为 filter() 的内置函数。在 filter() 方法中,我们传递一个闭包,该闭包返回一个布尔值,指示键值对是否应包含在结果字典中。或者,我们可以说,如果键值对的第二个元素(值)不为 nil,则它将包含在结果字典中。否则,不包含。

语法

dict.filter{$0.1 != nil}

这里,dict 是字典。filter() 函数返回满足给定闭包的键值对。如果键值对的第二个元素(值)不为 nil,则闭包返回 true。否则返回 false。

算法

  • 步骤 1 - 创建一个包含键值对的数组。此处,值的类型为可选类型,用于存储 nil。

  • 步骤 2 - 打印原始字典。

  • 步骤 3 - 现在使用 filter() 方法从字典中删除 null。

  • 步骤 4 - 打印修改后的数组。

示例

在下面的 Swift 程序中,我们将从字典中删除 null。为此,我们将创建一个包含 nil 值(或可选值)的字典。然后,我们将使用 filter() 函数删除 nil 值及其关联的键并显示结果。

import Foundation
import Glibc

var myCityRank:[String:Int?] = ["Delhi": nil, "Goa": 3, "Pune": nil, "Jaipur": 2, "Kolkata": nil]

print("原始值: ", myCityRank)

// 移除 nil
myCityRank = myCityRank.filter{$0.1 != nil}
print("不含空值的字典:\(myCityRank)")

输出

原始值:["Goa": Optional(3), "Jaipur": Optional(2), "Delhi": nil, "Kolkata": nil, "Pune": nil]
不含空值的字典:["Jaipur": Optional(2), "Goa": Optional(3)]

结论

以上就是如何从字典中移除空值。为了在字典中存储空值,我们借助问号 (Int?) 将值类型声明为可选类型。如果没有可选类型,则无法在字典中存储空值。



相关文章



关于我们 | 隐私条款 | 学习路线
返回顶部