1.使用sortInPlace排序
//sortInPlace排序
var array = [3,2,4,6,8,33]
//默认
array.sortInPlace()
print("strArray--->\(array)")
//升序
array.sortInPlace{ $0 < $1 }
print("strArray--->\(array)")
//降序
array.sortInPlace{ $0 > $1 }
print("strArray--->\(array)")
//第二种形式
//升序
array.sortInPlace {
return $0 < $1
}
print("strArray--->\(array)")
//降序
array.sortInPlace{
return $0 > $1
}
print("strArray--->\(array)")
//第三种形式
//升序
array.sortInPlace {
(num1 :Int,num2 :Int) in
return num1 < num2
}
print("strArray--->\(array)")
//降序
array.sortInPlace{
(num1 :Int,num2 :Int) in
return num1 > num2
}
print("strArray--->\(array)")
{}大括号里面是一个闭包,可以学习一下
打印结果:
strArray--->[2,3,33]
strArray--->[2,33]
strArray--->[33,2]
strArray--->[2,2]
2.使用filter筛选
//使用filter进行筛选
let array = [3,33]
//筛选出2的倍数
let newB = array.filter{$0 % 2 == 0}
print("strArray--->\(newB)")
打印结果:
strArray--->[2,8]
3.map对当前数组运用闭包内的规则然后返回一个新的数组:
// 对当前数组运用闭包内的规则然后返回一个新的数组:
let array = [3,33]
let newArray = array.map{$0 * $0}
print("strArray--->\(newArray)")
打印结果:
strArray--->[9,16,36,64,1089]
4.通过闭包内对每个元素进行操作然后返回一个单独的值
//通过闭包在(3)基数上对数组中每个元素进行操作
let array = [3,4]
let addRes = array.reduce(3){$0 * $1}
//3*array[0]*array[1]*array[2]
print("strArray--->\(addRes)")
打印结果:
strArray--->72