놀이터 일간 추천 베스트 |
놀이터 일간 조회 베스트 |
입력값 출력값
var intArray = [1, 7, 2, 4, 3, 6, 4] [1, 7, 2, 4, 3, 6, 4]
var stringArray = ["가", "나", "다"] ["가", "나", "다"]
intArray.sort(by:>) [7, 6, 4, 4, 3, 2, 1]
intArray [7, 6, 4, 4, 3, 2, 1]
intArray.sort(by:<) [1, 2, 3, 4, 4, 6, 7]
intArray [1, 2, 3, 4, 4, 6, 7]
//위에서 intArray의 출력값을 보면 원래의 출력 [1, 7, 2, 4, 3, 6, 4]와는 다른 값이 출력되었습니다.
//따라서 파괴적 메서드(자기 자신을 변화시키는 메서드)라고 합니다.
intArray.sorted(by:>) [7, 6, 4, 4, 3, 2, 1]
intArray [1, 7, 2, 4, 3, 6, 4]
intArray.sorted(by:<) [1, 2, 3, 4, 4, 6, 7]
intArray [1, 7, 2, 4, 3, 6, 4]
//위의 intArray의 출력값을 보면 원래의 출력[1, 7, 2, 3, 4, 6, 4]과 동일한 값이 출력되었습니다.
//따라서 비파괴적 메서드(자기 자신을 변화시키지 않는 메서드)라고 합니다.
var intArray = [1, 7, 2, 4, 3, 6, 4] [1, 7, 2, 4, 3, 6, 4]
var stringArray = ["가", "나", "다"] ["가", "나", "다"]
//그런데 sorted를 쓰면 어떤 값으로 변화를 줘도 intArray에서는 원래 값으로 출력됩니다.
//변화된 값을 그대로 출력할 수는 없을까요?
var sortedA = intArray.sorted(by:>) [7, 6, 4, 4, 3, 2, 1]
var sortedB = intArray.sorted(by:<) [1, 2, 3, 4, 4, 6, 7]
sortedA [7, 6, 4, 4, 3, 2, 1]
sortedB [1, 2, 3, 4, 4, 6, 7]
//메서드를 위처럼 바꿔주면 변화된 값 그대도 출력됩니다.
첫번째 댓글을 남겨주세요!