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?) 将值类型声明为可选类型。如果没有可选类型,则无法在字典中存储空值。