開發過程中使用數組的概率非常高,這里對部分功能做一個介紹,使用playground去顯示,打印出來的內容我就不一一寫上去了,真的很有用!
//: Playground - noun: a place where people can playimport UIKit//數組問題struct student { var name = "123" }var str = "Hello, playground"//將多個數組合成一個數組let array = [[1,2,4,],[3,5],[565,33]]//let arrayMap = array.map{$0}let arrayFlat = [[123,123],[444]].flatMap{ $0 }PRint(arrayFlat)//分離出條件內的數字并和成數組let arrayFilter = [1,2,3,4,5,6,20]let tempFilter = arrayFilter.filter{ $0 % 2 == 0 }print(tempFilter)//獲取數組的和let sumArray = [2,3,5,6,7]let tempSum = sumArray.reduce(0){ $0 + $1}print(tempSum)//從類里面遍歷出來var oneS = student.init()oneS.name = "1"var oneS1 = student.init()oneS1.name = "2"var oneS2 = student.init()oneS2.name = "3"let students = [oneS,oneS1,oneS2]let endS = students.filter { (student) -> Bool in return student.name == "2"}if let endA = endS.last { print(endS.last)}//取出空數組let nilArray = [[],[23,322],[4,3,4],[],[666,777],[]]let tempNilArray = nilArray.filter { (array) -> Bool in return array.count > 0}print(tempNilArray)//forEach遍歷數據let testArrA = [1,4,5,6,1]let testArrB = [1,2,3,4,5]let testArrC = ["a","b","c","D"](2..<testArrA.count).forEach { (countT) in print(countT)}//遍歷testArrC.enumerated().forEach { (oneStr) in print(oneStr.element)}//從某一點這個點開是,分離成兩個數組,并去掉當前的元素testArrA.split(separator: 4)testArrC.split(separator: "b")//條件分離testArrA.split { (tempInt) -> Bool in return tempInt <= 1}//刪除索引之前的對象testArrC.dropFirst(0)testArrC.dropLast(1)//修改數組元素內容print(testArrC.map{$0.lowercased()})//排序print(testArrC.sorted(by: < ))print(testArrB.sorted(by: < ))//倒序print(Array(testArrA.reversed()))//prefix,取前幾位的值print(testArrA.prefix(3))//suffix,取后幾位的值print(testArrA.suffix(1))// 運算符重載func == (stu1: student,stu2: student) -> Bool { if stu1.name == stu2.name { return true } return false}let isEqual = oneS1 == oneSlet threeArr = [1] + [3] + [1,0,88]let befor = 1let later = ~1print(later)//枚舉enum WeekType { case One case Two}如果轉載請注明轉于:AirZilong的博客
新聞熱點
疑難解答