JavaScript에서 문자열 정렬

Shraddha Paghdar 2023년10월12일
  1. sort() 메소드를 사용하여 JavaScript 문자열 정렬
  2. localeCompare() 메서드를 사용하여 JavaScript 문자열 정렬
JavaScript에서 문자열 정렬

JavaScript 문자열에는 텍스트를 저장하고 조작하는 데 사용되는 0개 이상의 따옴표 붙은 문자가 포함되어 있습니다.

JavaScript의 문자열과 관련하여 작업하고 조작하는 데 도움이 되는 몇 가지 유용한 내장 메서드가 있습니다. 이 기사에서는 내장 JavaScript 메소드를 사용하여 문자열 배열을 정렬하는 방법을 보여줍니다.

JavaScript에는 원래 문자열 배열을 변경하여 정렬된 문자열 배열을 반환하는 sortlocaleCompare라는 두 가지 메서드가 있습니다.

sort() 메소드를 사용하여 JavaScript 문자열 정렬

sort() 메소드는 배열의 요소를 정렬하는 JavaScript에서 제공하는 내장 메소드입니다.

이 정렬은 요소를 문자열로 변환하여 수행됩니다. 그리고 이를 기반으로 UTF-16 코드 단위 값의 시퀀스를 비교합니다.

표준 순서는 항상 오름차순입니다. 이 메서드는 원래 배열을 변경합니다.

통사론:

sort()
sort((firstEl, secondEl) => {...})
sort(compareFn)
sort(function compareFn(firstEl, secondEl) {
  ...
})

firstElsecondEl 매개변수는 비교 및 ​​정렬해야 하는 배열의 두 요소를 나타냅니다. compareFn은 사용자 정의 정렬 기능을 정의하는 선택적 기능입니다. 이 메서드의 반환 값은 정렬된 배열을 제자리에 반환한다는 것입니다. 즉, 원래 배열을 변경하고 결과를 원래 배열에 저장합니다.

자세한 내용은 이 문서에서 sort() 메서드를 확인하세요.

const osItems = ['Linux', 'Ubuntu', 'Windows', 'MacOS', 'Fedora'];
osItems.sort();
console.log(osItems);

sort()를 호출하면 UTF-16 코드 단위에 따라 원래 어레이 osItem이 정렬되고 결과가 osItem 어레이에 다시 저장됩니다. 위의 코드를 실행하면 아래와 같은 결과가 나옵니다.

출력:

["Fedora", "Linux", "MacOS", "Ubuntu", "Windows"]

localeCompare() 메서드를 사용하여 JavaScript 문자열 정렬

localeCompare() 메소드는 JavaScript에서 제공하는 내장 메소드입니다.

이 메서드는 참조 문자열이 앞 또는 뒤에 오는지 확인하고, 정렬 순서에서 지정된 문자열과 일치하고, 이를 기반으로 숫자를 반환합니다. 다른 로케일을 전달하면 실제 결과가 다를 수 있습니다.

통사론:

localeCompare(compareString)
localeCompare(compareString, locales)
localeCompare(compareString, locales, options)

compareString은 참조 문자열을 비교할 문자열인 필수 매개변수입니다.

locales은 형식 지정 규칙을 사용해야 하는 언어를 나타내며 완전히 선택적 매개변수입니다. 비교에 따라 문자열 비교 후 참조 문자열이 발생하면 ‘1’, 비교 문자열 이전에 참조 문자열이 발생하면 ‘-1’, 두 문자열이 동일하면 ‘0’을 반환합니다.

자세한 내용은 이 문서에서 localeCompare() 메서드를 확인하세요.

sort 메소드 내에서 localeCompare 메소드를 사용하는 유일한 이점은 é 및 è와 같은 비 ASCII 문자를 정렬할 수 있다는 것입니다.localeCompare 메소드의 로케일 및 옵션 매개변수를 사용하면 더 정확해집니다.

const osItems = ['Linux', 'Ubuntu', 'Windows', 'MacOS', 'Fedora'];
osItems.sort((a, b) => a.localeCompare(b, 'en'));
console.log(osItems);

a.localeCompare(b, 'en')를 호출하면 원래 배열의 a(참조 문자열), 이 경우 osItems를 영어 로케일을 사용하여 b(문자열 비교)와 비교합니다. . 여기서 흥미로운 부분은 -1, 10만 반환하고 정렬 메서드가 이러한 문자열을 정렬한다는 것입니다.

위의 코드 블록을 실행하면 다음 출력이 표시됩니다.

출력:

["Fedora", "Linux", "MacOS", "Ubuntu", "Windows"]
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

관련 문장 - JavaScript String