You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 14:57:42