찾다
웹 프론트엔드프런트엔드 Q&A자바스크립트에서 정렬 매개변수 전달을 사용하는 방법

JavaScript에서 sort()는 배열을 지정된 순서로 정렬할 수 있는 정렬 메서드입니다. 정렬할 때 선택적으로 특정 조건에 따라 정렬 순서를 정의하는 sort() 메서드에 매개 변수로 함수를 전달할 수 있습니다.

sort() 함수의 기본 구문은 다음과 같습니다.

array.sort(compareFunction)

그 중 CompareFunction은 선택적 매개변수로 배열의 두 요소를 비교하는 데 사용되는 함수입니다. 이 매개변수를 생략하면 기본 순서(즉, 유니코드 인코딩 순서)에 따라 순서가 정렬됩니다.

이 함수는 두 개의 매개변수 a와 b를 받아 a와 b를 비교하고 상대적 순서를 나타내는 값을 반환합니다. a가 b 앞에 오면 0보다 작은 값을 반환하고, a가 b와 같으면 0을 반환하며, a가 b 뒤에 오면 0보다 큰 값을 반환합니다.

예를 들어 숫자라는 간단한 숫자 배열이 있다고 가정하면 다음을 사용하여 정렬할 수 있습니다.

const numbers = [4, 2, 5, 1, 3];

numbers.sort((a, b) => a - b);

console.log(numbers); // [1, 2, 3, 4, 5]

위 예에서는 숫자 배열을 오름차순으로 정렬하는 비교 함수를 전달했습니다. 이 함수는 비교할 요소인 a와 b라는 두 개의 매개변수를 받습니다. a가 b보다 작으면 0보다 작은 값을 반환합니다. 그러면 a가 b 앞에 오게 됩니다. 이 경우 a - b를 사용하여 비교합니다.

이제 각각 이름과 나이 속성이 포함된 객체 배열이 있는 또 다른 예를 살펴보겠습니다. 연령별로 개체 배열을 정렬하려고 합니다.

const people = [
  { name: 'John', age: 25 },
  { name: 'Jane', age: 20 },
  { name: 'Bob', age: 30 }
];

people.sort((a, b) => a.age - b.age);

console.log(people);

위 예시에서는 각 객체의 age 속성을 기준으로 비교하는 비교 함수를 전달했습니다. a의 나이와 b의 나이 사이의 상대적인 순서를 나타내기 위해 같은 방식으로 0보다 작은 값, 0 또는 0보다 큰 값을 반환합니다.

결론적으로 sort()는 정의한 조건에 따라 배열을 정렬할 수 있기 때문에 JavaScript에서 매우 유용한 방법입니다. 비교 함수를 인수로 전달하면 기본 순서가 아닌 필요에 따라 배열을 정렬할 수 있습니다.

위 내용은 자바스크립트에서 정렬 매개변수 전달을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
CSS IDS vs 클래스 : 접근성에 더 좋은 것은 무엇입니까?CSS IDS vs 클래스 : 접근성에 더 좋은 것은 무엇입니까?May 10, 2025 am 12:02 AM

ClassareBetterforAccessibilityInwebDevelopment.1) ClassescanBeappliedTomultipleEmentements, 연속적 인 stylesandbehaviors, whataidsusers와 whithdisabilities

CSS : 클래스와 ID 선택기의 차이점을 이해합니다CSS : 클래스와 ID 선택기의 차이점을 이해합니다May 09, 2025 pm 06:13 PM

ClassSelectorSeReaseusableformultipleElements, whileIdselectorsareUniqueAncePerPage.1) 클래스, 1) 클래스, areidealforstylingmultipleements likebuttons.2) ids, awepectupforUniqueElementsLikeAnavaterMangu.3) Ids

CSS 스타일링 : 클래스와 ID 선택기 중에서 선택합니다CSS 스타일링 : 클래스와 ID 선택기 중에서 선택합니다May 09, 2025 pm 06:09 PM

CSS 스타일에서 클래스 선택기 또는 ID 선택기는 프로젝트 요구 사항에 따라 선택해야합니다. 1) 클래스 선택기는 재사용에 적합하며 동일한 스타일의 여러 요소에 적합합니다. 2) ID 선택기는 고유 한 요소에 적합하며 우선 순위가 높지만 유지 보수 어려움을 피하기 위해주의해서 사용해야합니다.

HTML5 : 제한HTML5 : 제한May 09, 2025 pm 05:57 PM

html5hasseverallimitationsincludinglackofportforAdvancedgraphics, basic formvalidation, cross-browsercompatibilitiessues, performanceimpacts 및 securityconcerns.1) forcomplexgraphics, html5'scanvasisinsufficiver

CSS : 한 스타일이 다른 스타일보다 우선 순위가 더 높습니까?CSS : 한 스타일이 다른 스타일보다 우선 순위가 더 높습니까?May 09, 2025 pm 05:33 PM

예, Onestylecanhavemorepriority thananotherincssduetospecific and thecascade.1) SpecipationActSascoringsystemwheremorespecificselectorshaveHigherPriority.2) theCACASCASCACSCASCASCASCOLONSEFECALORONSOFECOLONSOFECOLONSOFECIFICI와 함께

HTML5 사양의 중요한 목표는 무엇입니까?HTML5 사양의 중요한 목표는 무엇입니까?May 09, 2025 pm 05:25 PM

thesiNificantgoalsofhtml5ARETOENHANCEMULTIMEDIASUPPORT, HUMANERDIALIDAY, MASTERCONSCONSENCYACROSSDEVICES, andensureBackwardCompatibility, 1) html5improvesmultimediaWithnativeElementsLikeAnd.2) ItusessessessessesseManticElementsForBetseo.3) ITS

React의 한계는 무엇입니까?React의 한계는 무엇입니까?May 02, 2025 am 12:26 AM

반응 말 : 1) asteeplearningcurveduetoitsvastecosystem, 2) Seochallengswithclient-siderendering, 3) PlatiperFormanceIssUseInlargeApplications, 4) ComplexStateManagementAsAppSgrow, 및 5) theneedTokeEpupWithitsHouou

React의 학습 곡선 : 새로운 개발자를위한 도전React의 학습 곡선 : 새로운 개발자를위한 도전May 02, 2025 am 12:24 AM

ReactisChallengingforbeginnersdueToitssteePlearningCurveanDParadigMshiftTocomponent 기반 Architection.1) 시작된 문서화 forasolidFoundation.2) startWithOficialDocumentationForAsolIdfoundation.2) 이해를 이해하는 방법

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전