在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
遍历数组和字典: 1 //遍历数组 2 let iosArray = ["L", "O", "V", "E", "I", "O", "S"] 3 4 for index in 0...6 { 5 print(iosArray[index]) 6 } 7 8 for index in 0..<6 { 9 print(iosArray[index]) 10 } 11 12 for element in iosArray { 13 print(element) 14 } 15 16 //遍历字典 17 let iosDict = ["1": "one", "2": "two", "3": "three", "4": "four"] 18 for (key, value) in iosDict { 19 print("\(key): \(value)") 20 } 21 22 //单独遍历字典的key和value 23 let keys = iosDict.keys 24 for k in keys { 25 print(k) 26 } 27 28 let values = iosDict.values 29 for v in values { 30 print(v) 31 }
如上遍历数组使用了2种方式 1、 1 let sectionArray = iosArray[1...4] 2 print(sectionArray) 3 输出: 4 ▿ 4 elements 5 - 0 : "O" 6 - 1 : "V" 7 - 2 : "E" 8 - 3 : "I"
1 let numbers = Array(1...7) 2 print(numbers) 3 输出: 4 ▿ 7 elements 5 - 0 : 1 6 - 1 : 2 7 - 2 : 3 8 - 3 : 4 9 - 4 : 5 10 - 5 : 6 11 - 6 : 7 也就是说以后遇到涉及范围的情况都可以尝试 2、 字典的遍历可分为同时或者分别遍历key和value 1、 2、
由于字典是无序的,所有这么做的意义并不大。
反向遍历 1 //倒序遍历数组 2 for index in (0...6).reversed() { 3 print(iosArray[index]) 4 } 5 6 for element in iosArray.reversed() { 7 print(element) 8 } 9 10 //倒序遍历字典 11 for (key, value) in iosDict.reversed() { 12 print("\(key): \(value)") 13 } 1、如上无论是
2、 3、
forEach遍历 如果还有小伙伴认为for-in遍历繁琐,Swift还提供了一种更加简洁的遍历方式forEach,代码如下: 1 //使用forEach正向遍历 2 iosArray.forEach { (word) in 3 print(word) 4 } 5 6 //使用forEach的反向遍历 7 iosArray.reversed().forEach { (word) in 8 print(word) 9 }
两种遍历方式,代码如下:
1 //stride正向遍历 2 for index in stride(from: 1, to: 6, by: 1) { 3 print(index) 4 print(iosArray[index]) 5 } 6 7 //stride正向跳跃遍历 8 for index in stride(from: 0, to: 6, by: 2) { 9 print(index) 10 print(iosArray[index]) 11 } 12 13 //stride反向遍历 14 for index in stride(from: 6, to: 1, by: -1) { 15 print(index) 16 print(iosArray[index]) 17 } 18 19 //stride through正向遍历 20 for index in stride(from: 0, through: 6, by: 1) { 21 print(index) 22 print(iosArray[index]) 23 } 1、 正如stride单词的含义“大步跨过”,使用这种方式遍历的好处自然是可以灵活的根据自己的需求遍历,比如我们有时需要遍历索引为偶数或者基数的元素,或者每隔3个元素遍历一次等等类似的需求都可以轻松实现; 2、 3、
正向遍历 1 //遍历数组 2 for (n, c) in iosArray.enumerated() { 3 print("\(n): \(c)") 4 } 5 6 //遍历字典 7 for (n, c) in iosDict.enumerated() { 8 print("\(n): \(c)") 9 }
反向遍历 1 //反向遍历数组 2 for (n, c) in iosArray.enumerated().reversed() { 3 print("\(n): \(c)") 4 } 5 6 //反向遍历字典 7 for (n, c) in iosDict.enumerated().reversed() { 8 print("\(n): \(c)") 9 }
反向遍历就是直接在enumerated()函数后调用reversed()函数。
|
请发表评论