Swift中已获取字典键数组,如何获取数组类型值?
获取字典中数组类型值的方法
嘿,其实你获取值的思路和拿键的逻辑几乎一样,只是把$0.key换成$0.value就行啦!针对你的[String: [String]]类型字典,给你几种常用的获取方式:
1. 获取所有值组成的二维数组
如果你想把字典里所有的数组值都提取出来,组成一个二维数组,直接用map取$0.value就可以:
var valueArray = self.dict.map { $0.value } // valueArray 的类型是 [[String]],每个元素都是原字典里的[String]数组
或者更简洁的方式,直接用字典的values属性转成数组:
var valueArray = Array(self.dict.values) // 效果和上面的map完全一致,代码更简洁
2. 根据指定键获取单个值数组
如果你只需要某个特定键对应的数组值,用字典的下标访问就行。不过因为字典下标会返回可选类型(避免键不存在的报错),建议用可选绑定来安全获取:
if let targetArray = self.dict["你的目标键"] { // 这里的targetArray就是你要的[String]类型数组,可直接使用 print(targetArray) } else { // 处理键不存在的情况 print("该键对应的值不存在哦") }
3. 把所有值合并成一维数组(可选)
如果想把字典里所有子数组的元素合并成一个单一的[String]数组,可以用这两种方式:
// 方法1:用flatMap let flattenedArray = self.dict.values.flatMap { $0 } // 方法2:用joined()再转成数组 let flattenedArray = Array(self.dict.values.joined()) // 两种方法得到的都是[String]类型的一维数组,包含所有子数组的元素
内容的提问来源于stack exchange,提问作者King
相关产品推荐
相关产品推荐

