我有两个Int数组,例如:
array1=[1,2,3,4]作为Int
array2=[10,20,30,40]为整数
为了工作,我需要创建Dictionary,其中Key是array1中的元素,Value是array2中的元素,在我的示例中-[1:10,2:20,3:30,4:40]是[Int:Int]。
所以,当我创建循环时:

    for i in 0..<arrayOfKeys.count {

        dictionaryOfData[arrayOfKeys[i]] = arrayOfValues[i]

    }

我只看到最后一个[4:40],但我知道我必须有4个键值的字典。
请给我个建议,告诉我怎么迅速做?!
upd,我发现我的问题-钥匙必须是唯一的!所以,非常感谢你的回答,我很快就知道了

最佳答案

我脑子里想不出什么解决办法:
Init数组+Dict

let arrayOfValues = [1,2,3,4]
let arrayOfKeys = [1,2,3,4]

var arrayOfDict = [Int:Int]()

对于循环解决方案:
for i in 0..<arrayOfKeys.count {
    if i < arrayOfValues.count {

            let key = arrayOfKeys[i]
            let value = arrayOfValues[i]

            arrayOfDict[key] = value
        }
    }

使用zip方法解决方案:
for (key, value) in zip(arrayOfValues, arrayOfKeys) {
        arrayOfDict[key] = value
    }

来自苹果文档:
zip:由两个底层序列构建的成对序列,其中
第i对元素是每个底层的第i个元素
序列(iOS(9.0及更高版本))

07-26 08:35