Swift iOS:如何将数组的数组转换为[String]类型单一字符串数组
Swift 嵌套数组转一维字符串数组
针对你给出的嵌套字符串数组,以下几种方法可以将其转换为单一的[String]数组:
方法1:使用flatMap(推荐)
flatMap会自动展开嵌套的数组,直接提取所有元素:
let nestedArray: [[String]] = [ ["Ahmedabad"], ["Surat"], ["Rajkot"], ["Junagadh"], ["Jamnagar"], ["Bhavnagar"], ["Amreli"] ] let singleArray = nestedArray.flatMap { $0 } // 输出结果:["Ahmedabad", "Surat", "Rajkot", "Junagadh", "Jamnagar", "Bhavnagar", "Amreli"]
方法2:使用reduce
通过累加的方式合并所有子数组:
let singleArray = nestedArray.reduce([String](), +)
方法3:使用compactMap(适用于子数组仅需取第一个元素的场景)
如果每个子数组只有一个元素,或者你只需要子数组的第一个元素,用这个方法可以避免空元素:
let singleArray = nestedArray.compactMap { $0.first }
内容的提问来源于stack exchange,提问作者Ashvin
相关产品推荐
相关产品推荐

