AI가 목록을 정렬한 뒤 원래 순서를 다시 읽을 수 있을까요?
[12, 3, 8]을 작은 수부터 정렬한 뒤 원본을 다시 읽습니다. 결과가 똑같아 보여도 원래 순서가 남는 방법은 따로 있습니다.
그림에서 무엇을 볼까요?
숫자 비교 정렬에서 sort의 같은 배열 참조와 toSorted의 별도 배열을 비교한 도해
AI에게 학생이 답을 낸 순서 [12, 3, 8]을 보여 주고, 작은 수부터 정렬한 목록도 만들어 달라고 합니다. 나중에 처음 답한 번호를 확인하려면 두 순서가 모두 필요합니다. 변수 이름 하나를 더 붙여 두면 충분할까요?
실습에서 sort와 숫자 오름차순을 선택하면 결과는 [3, 8, 12]입니다. ‘실행 후 원본’도 [3, 8, 12]가 됩니다. 자바스크립트의 sort()는 호출한 배열 안에서 순서를 바꾼 다음 같은 배열을 돌려줍니다. 결과에 새 이름을 붙여도 그 이름은 같은 배열을 가리킵니다.
함께 확인할 점
숫자 비교 함수 유무와 메서드를 각각 바꾸어 원본과 결과를 나란히 표시합니다.
생각해 볼 질문
정렬 결과 하나만 보고 원본 보존까지 확인할 수 없는 이유를 변수와 배열의 관계로 설명해 보세요.
