sort, sorted
작성일
sort, sorted
- sort는 호출된 배열을 변경하여 값들을 정렬한다.
- sorted는 정렬된 값으로 된 배열의 사본을 리턴한다.
var myArray = [1,4,3,2,5,9,7,6,8,10]
// sorted를 통해 오름차순으로 정렬된 새 콜렉션을 반환한다.
var filteredArray = myArray.sorted()
print("myArray : \(myArray)")
print("filteredArray : \(filteredArray)")
출력하면
myArray : [1,4,3,2,5,9,7,6,8,10]
filteredArray : [1,2,3,4,5,6,7,8,9,10]
콜렌션 내의 데이터 들을 번갈아 가면서 돌아 반호나 값이 true 가 나올때 해당 하는 녀석을 넣게 된다.
그래서 내림차순으로 정렬이 된다.
var myArray = [1,4,3,2,5,9,7,6,8,10]
var filteredArray = myArray.sorted()
var descendingArray = myArray.sorted(by: { (someValue:Int, otherValue:Int) -> Bool in
return somValue > otherValue
})
print("descendingArray : \(descendingArray)")
출력하면
descendingArray : [10,9,8,7,6,5,4,3,2,1]
클로져 부분 축약 버전
var myArray = [1,4,3,2,5,9,7,6,8,10]
var filteredArray = myArray.sorted()
var descendingArray = myArray.sorted(by: { (someValue:Int, otherValue:Int) -> Bool in
return somValue > otherValue
})
var myDescendingArray = myArray.sorted(by:{
return $0 > $1
})
print("myDescendingArray : \(myDescendingArray)")
출력하면
myDescendingArray : [10,9,8,7,6,5,4,3,2,1]
> 를 통해 보다 간편하게 정렬이 가능하다
var myArray = [1,4,3,2,5,9,7,6,8,10]
var filteredArray = myArray.sorted()
var descendingArray = myArray.sorted(by: { (someValue:Int, otherValue:Int) -> Bool in
return somValue > otherValue
})
var myDescendingArray = myArray.sorted(by:{
return $0 > $1
})
var shortenDescendingArray = myArray.sorted(by: >)
print("shortenDescendingArray : \(shortenDescendingArray)")
출력하면
shortenDescendingArray : [10,9,8,7,6,5,4,3,2,1]
sort() 메소드를 통해 해당 배열 자체를 정렬한다.
myArray.sort()
myArray.sort(by: >)
myArray.sort(by: {
return $0 < $1
})
myArray.sorted(by: { (someValue:Int, otherValue:Int) -> Bool in
return somValue > otherValue
})