Swift中的数组是否有任何顺序?

时间:2016-03-14 21:15:02

标签: arrays swift sorting

为什么我制作一个数组并打印它,用不同的顺序打印

创作:

var array = [Int]();

array = [8, 1, 3, 4, 6, 5, 4, 7, 11 , 2, 10, 9];

打印方法:

for i in array  {  

    print(array[i], terminator: ", ");

}

输出:

11, 1, 4, 6, 4, 5, 6, 7, 9, 3, 10, 2, 

2 个答案:

答案 0 :(得分:6)

根据定义,阵列是稳定排序的。事情以他们进入的顺序出现。

在这种情况下,您将使用数组中的值作为索引来迭代数组:

for i in array {      // this line fetches each element from array in order,
                      //  ie., 8, 1, 3, 4, 6, ...
    print(array[i]...)   // this line indexes into array using the value you
                         // just fetched
}

如果您只想打印数组的元素,而不使用双索引,请使用:

for i in array {
    print(i, terminator: ", ")
}

答案 1 :(得分:4)

for i in array遍历数组的 values ,而不是其索引。要遍历索引,请使用enumerate

for (index, value) in array.enumerate() {
    print("array[\(index)]: \(value)", terminator: ", ")
}