gpt4 book ai didi

arrays - 映射具有特定格式的 Swift 数组

转载 作者:搜寻专家 更新时间:2023-10-31 08:16:07 27 4
gpt4 key购买 nike

给定一个包含如下元素的数组:

let array = [[a], [b, c], [d, e, f]]

有没有一种优雅的方法可以将这个数组转换为一个返回带有外部数组索引的元组的数组:

let result = [(a, 0), (b, 1), (c, 1), (d, 2), (e, 2), (f, 2)]

最佳答案

let array = [["a"], ["b", "c"], ["d", "e", "f"]]
let result = zip(array, array.indices).flatMap { subarray, index in
subarray.map { ($0, index) }
}

结果是:

[("a", 0), ("b", 1), ("c", 1), ("d", 2), ("e", 2), ("f", 2)]

我使用 zip(array, array.indices) 而不是 array.enumerated() 因为你特别要求一个包含数组 index enumerated() 生成具有从零开始的整数偏移 的元组。如果您的源集合是一个数组,它没有什么不同,但其他集合(如 ArraySlice)的行为会有所不同。

关于arrays - 映射具有特定格式的 Swift 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47888452/

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