개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.05 22:42

질문 sort() 함수와 compareFunction 사용방법에 대한 질문입니다.

목록
  • 인덱스튜너 17시간 전 2025.05.05 22:42 새글
  • 1
    1
제가 현재 공부하고 있는 내용은 JavaScript의 sort() 함수와 compareFunction에 관한 것입니다.
sort() 함수는 배열 내의 요소를 정렬하는 함수로 사용할 수 있습니다.
compareFunction은 sort() 함수의 두 번째 인수로 사용되어 두 요소를 비교하는 함수로 사용됩니다.

제가 이해하는 바로는 compareFunction은 두 요소를 비교하여 정렬 순서를 결정할 수 있습니다.
예를 들어, 이름을 정렬할 때는 이름이 길이가 긴 순서로 정렬하고 싶은 경우 compareFunction을 사용할 수 있습니다.

여기서 제가 이해하기 어려운 부분은 compareFunction의 return 값을 어떻게 사용해야 하는지 궁금합니다.
만약 compareFunction이 두 요소를 비교하여 1을 반환하면 어떤 의미가 되는지 궁금합니다.

예를 들어, 다음의 코드를 보겠습니다.

javascript

let arr = ['apple', 'banana', 'cherry'];

arr.sort((a, b) => {

  if (a.length > b.length) return 1;

  if (a.length < b.length) return -1;

  return 0;

});



이 코드는 이름이 길이가 긴 순서로 정렬하여 출력합니다.
이 경우 compareFunction이 1을 반환하는 경우는 어떤 의미가 되는지 궁금합니다.

위의 코드를 실행하면 'apple', 'banana', 'cherry'가 출력됩니다.
이 때 compareFunction이 1을 반환하는 경우는 어떤 요소가 정렬 순서를 결정하는지 궁금합니다.

위의 코드에서 compareFunction이 1을 반환하는 경우는 'apple'이 정렬 순서를 결정하는지 궁금합니다.
만약 compareFunction이 1을 반환하는 경우는 'apple'이 정렬 순서를 결정하는지 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  17시간 전



    sort() 함수는 배열 내의 요소를 정렬하는 함수로 사용할 수 있습니다. compareFunction은 sort() 함수의 두 번째 인수로 사용되어 두 요소를 비교하는 함수로 사용됩니다.

    compareFunction은 두 요소를 비교하여 정렬 순서를 결정할 수 있습니다. 예를 들어, 이름을 정렬할 때는 이름이 길이가 긴 순서로 정렬하고 싶은 경우 compareFunction을 사용할 수 있습니다.

    compareFunction의 return 값은 1, -1, 0 중 하나가 될 수 있습니다.

    - 1은 첫 번째 요소가 두 번째 요소보다 큰 경우입니다.
    - -1은 첫 번째 요소가 두 번째 요소보다 작은 경우입니다.
    - 0은 두 요소가 같을 경우입니다.

    위의 예시 코드에서 compareFunction이 1을 반환하는 경우는 'apple'이 두 번째 요소인 'banana'보다 큰 경우입니다. 따라서 'apple'과 'banana' 사이의 정렬 순서는 'apple'이 앞에 오는 것입니다.

    위의 예시 코드에서 compareFunction이 1을 반환하는 경우는 'apple'이 정렬 순서를 결정하는 것입니다.

    2025-05-05 22:43

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 17,058건 / 10 페이지

검색

게시물 검색