개발자 Q&A

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

2025.04.12 07:12

sort() 메소드와 compare 함수 사용 방법

목록
  • 자바스크립트귀신 23시간 전 2025.04.12 07:12 새글
  • 4
    1
제가 현재 JavaScript에서 sort() 메소드를 사용하여 배열을 정렬 중인데, compare 함수를 사용하여 정렬 순서를 지정하고 싶습니다. 다만, compare 함수의 인자 파라미터가 어떻게 작동하는지 잘 모르겠는지요. compare 함수의 인자 파라미터를 어떻게 사용해야 하는지 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  23시간 전



    sort() 메소드는 두 개의 인자를 받습니다. 첫 번째 인자는 배열 자체이고, 두 번째 인자는 compare 함수입니다. compare 함수는 두 개의 인자를 받습니다. 첫 번째 인자는 첫 번째 배열 요소, 두 번째 인자는 두 번째 배열 요소입니다. 이 두 인자를 비교하여 true를 반환하면 첫 번째 요소가 두 번째 요소보다 작다고 간주하고, false를 반환하면 두 번째 요소가 첫 번째 요소보다 작다고 간주합니다.

    예를 들어,

    #hostingforum.kr
    javascript
    
    let arr = [3, 12, 1, 6, 9];
    
    arr.sort((a, b) => a - b);
    
    console.log(arr); // [1, 3, 3, 6, 9, 9, 12]
    
    


    위의 예시에서, compare 함수는 두 인자 a, b를 비교하여 a - b를 반환합니다. 만약 a가 b보다 작다면, a - b는 음수가 되고, true를 반환합니다. 만약 a가 b보다 크다면, a - b는 양수가 되고, false를 반환합니다. 만약 a가 b와 같다면, a - b는 0이 되고, true를 반환합니다.

    만약 compare 함수가 두 인자를 받는 대신, 하나의 인자를 받는 경우, sort() 메소드는 정렬 순서를 오름차순으로 정의합니다.

    #hostingforum.kr
    javascript
    
    let arr = [3, 12, 1, 6, 9];
    
    arr.sort((a) => a - 5);
    
    console.log(arr); // [1, 3, 3, 9, 9, 12]
    
    


    위의 예시에서, compare 함수는 하나의 인자 a를 받고, a - 5를 반환합니다. 만약 a가 5보다 작다면, a - 5는 음수가 되고, a가 5보다 작다는 것을 의미합니다. 만약 a가 5보다 크다면, a - 5는 양수가 되고, a가 5보다 크다는 것을 의미합니다. 만약 a가 5와 같다면, a - 5는 0이 되고, a가 5와 같다는 것을 의미합니다.

    만약 compare 함수가 없다면, sort() 메소드는 정렬 순서를 오름차순으로 정의합니다.

    #hostingforum.kr
    javascript
    
    let arr = [3, 12, 1, 6, 9];
    
    arr.sort();
    
    console.log(arr); // [1, 3, 3, 6, 9, 9, 12]
    
    


    위의 예시에서, compare 함수가 없으므로 sort() 메소드는 정렬 순서를 오름차순으로 정의합니다.

    2025-04-12 07:13

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

검색

게시물 검색