我试图使用索引迭代一组元组。
继承我的阵列:
var keyValueArray = [(name: "One", value: 1), (name: "Four", value: 4), (name: "Two", value: 2) ]
继承人我想做的事情:
func tupleArrayInsertionSort(var unsortedTupleArray: [(String,Int)]){
var key, y : Int
for i in 0..<unsortedTupleArray.count {
key = unsortedTupleArray.[i]
}
}
但是我收到错误:无法下标类型[(String,Int)]
的值我只想迭代元组而不是它们。我怎么能做到这一点?
答案 0 :(得分:3)
问题在于这一行:
key = unsortedTupleArray.[i]
数组和下标之间有.
。它应该是这样的:
key = unsortedTupleArray[i]
但这只会让你获得元组,如果你想要取出Int
,你需要访问元组中的第二个元素
key = unsortedTupleArray[i].1
现在,如果要保留元组的名称,则应将它们保留在函数声明中。然后,您可以使用.value
:
var keyValueArray = [(name: "One", value: 1), (name: "Four", value: 4), (name: "Two", value: 2) ]
func tupleArrayInsertionSort(var unsortedTupleArray: [(name: String, value: Int)]){
var key, y : Int
for i in 0..<unsortedTupleArray.count {
key = unsortedTupleArray[i].value
}
}