gpt4 book ai didi

Swift 将数组转换为元组数组

转载 作者:搜寻专家 更新时间:2023-11-01 06:12:31 34 4
gpt4 key购买 nike

我有一个这样的数组:

[Shivam, Shiv, Shantanu, Mayank, Neeraj]

我想从这个数组中创建一个 tuples(key , value) 数组,只有 keyfirst character value 是一个字符串数组:

像这样:

[

(**key**: S , **value**: [Shivam, Shiv, Shantanu]),

(**key**: M , **value**: [Mayank]),

(**key**: N , **value**: [Neeraj])

]

PS:这不是这篇文章的重复Swift array to array of tuples . OP 想要合并两个数组以创建一个元组数组

最佳答案

  • 第一步:创建分组字典

    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 将数组转换为元组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52346053/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com