【问题标题】:SWIFT 5.1 Merge 2 arrays of different data types?SWIFT 5.1合并2个不同数据类型的数组?
【发布时间】:2019-11-13 06:48:53
【问题描述】:

适用于 SWIFT 5.1

如何让字符串数组与整数数组合并?

stringArray: ["Tom", "Dick", "Harry"]

intArray: [ 1, 2, 3]

我正在寻找的结果是一个格式为 String:Int 的列表

汤姆:1

迪克:2

哈利:3

【问题讨论】:

标签: arrays swift array-merge


【解决方案1】:

要实现这一点,您必须链接一些很棒的高阶函数,如下所示:

let name = ["Tom", "Dick", "Harry"]

let id = [ 1, 2, 3]

let dict = zip(name, id).map { [$0.0 : $0.1] }
                        .reduce([:]) { $0.merging($1) { (current, _) in current } }

print(dict)

【讨论】:

【解决方案2】:

可以这样做:

var intOne: [Int] = [1, 2, 3, 4]
var stringArray: [String] = ["a","b","c","d"]

var dictionary: [Int: String] = [:]

for (index, element) in intOne.enumerated() {
    dictionary[element] = stringArray[index]
}

print(dictionary)
Output: [2: "b", 3: "c", 1: "a", 4: "d"]


extension Dictionary {
    public init(keys: [Key], values: [Value]) {
        precondition(keys.count == values.count)

        self.init()

        for (index, key) in keys.enumerated() {
            self[key] = values[index]
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    • 2019-07-11
    • 2014-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多