//将多个数组合成一个数组
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..
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
}
Swift高阶函数之数组操作
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 数组是我们在编程过程中最常用到的一种数据结构,swift中的Array与oc中的NSArray相比,NSArray...
- 作者:Erica Sadun,原文链接,原文日期:2016-11-08译者:星夜暮晨;校对:Crystal Sun...
- 源码地址github此例子是在写相册选择器时获取图片资源时所用,主要解决了获取图片的缓存问题和尺寸问题,简化了逻辑...