Swift程式:移除字典中的空值


有時字典包含空值,為了移除這些空值,Swift 提供了一個內建函式 `filter()` 方法。在 `filter()` 方法中,我們傳遞一個閉包,該閉包返回一個布林值,指示鍵值對是否應該包含在結果字典中。或者我們可以說,如果鍵值對的第二個元素(值)不是 nil,則它將包含在結果字典中,否則不包含。

語法

dict.filter{$0.1 != nil}

這裡,`dict` 是字典。`filter()` 函式返回滿足給定閉包的鍵值對。如果鍵值對的第二個元素(值)不是 nil,則閉包返回 true;否則返回 false。

演算法

  • 步驟 1 - 建立一個包含鍵值對的陣列。這裡值的型別是可選型別,以便儲存 nil。

  • 步驟 2 - 列印原始字典。

  • 步驟 3 - 使用 `filter()` 方法從字典中移除空值。

  • 步驟 4 - 列印修改後的陣列。

示例

在下面的 Swift 程式中,我們將從字典中移除空值。為此,我們將建立一個包含 nil 值(或可選值)的字典。然後,我們將使用 `filter()` 函式移除 nil 值及其關聯的鍵,並顯示結果。

import Foundation
import Glibc

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

print("Original values: ", myCityRank)

// Removing nil 
myCityRank = myCityRank.filter{$0.1 != nil}
print("Dictionary without null values: \(myCityRank)")

輸出

Original values:  ["Goa": Optional(3), "Jaipur": Optional(2), "Delhi": nil, "Kolkata": nil, "Pune": nil]
Dictionary without null values: ["Jaipur": Optional(2), "Goa": Optional(3)]

結論

這就是我們如何從字典中移除空值的方法。為了在字典中儲存空值,我們宣告值型別為可選型別,使用問號 (Int?)。如果沒有可選型別,則無法在字典中儲存空值。

更新於:2023年5月9日

605 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.