Swift将数组转换为元组数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift将数组转换为元组数组相关的知识,希望对你有一定的参考价值。
我有这样一个数组:
[Shivam, Shiv, Shantanu, Mayank, Neeraj]
我想从这个数组创建一个tuples(key , value)
数组,只有key
是first character
而value
是array of strings
:
像这样:
[
(**key**: S , **value**: [Shivam, Shiv, Shantanu]),
(**key**: M , **value**: [Mayank]),
(**key**: N , **value**: [Neeraj])
]
PS:这个帖子Swift array to array of tuples不重复。 OP想要合并两个数组来创建一个元组数组
答案
- 第1步:创建分组字典
let array = ["Shivam", "Shiv", "Shantanu", "Mayank", "Neeraj"] let dictionary = Dictionary(grouping: array, by: {String($0.prefix(1))})
- 第2步:实际上没有第2步,因为不鼓励使用元组进行持久数据存储,但如果你真的想要一个元组数组
let tupleArray = dictionary.map { ($0.0, $0.1) }
例如,比元组更好的数据模型是自定义结构
struct Section {
let prefix : String
let items : [String]
}
然后将字典映射到结构并通过prefix
对数组进行排序
let sections = dictionary.map { Section(prefix: $0.0, items: $0.1) }.sorted{$0.prefix < $1.prefix}
print(sections)
以上是关于Swift将数组转换为元组数组的主要内容,如果未能解决你的问题,请参考以下文章