JavaScript에서 문자열 정렬
JavaScript 문자열에는 텍스트를 저장하고 조작하는 데 사용되는 0개 이상의 따옴표 붙은 문자가 포함되어 있습니다.
JavaScript의 문자열과 관련하여 작업하고 조작하는 데 도움이 되는 몇 가지 유용한 내장 메서드가 있습니다. 이 기사에서는 내장 JavaScript 메소드를 사용하여 문자열 배열을 정렬하는 방법을 보여줍니다.
JavaScript에는 원래 문자열 배열을 변경하여 정렬된 문자열 배열을 반환하는 sort
및 localeCompare
라는 두 가지 메서드가 있습니다.
sort()
메소드를 사용하여 JavaScript 문자열 정렬
sort()
메소드는 배열의 요소를 정렬하는 JavaScript에서 제공하는 내장 메소드입니다.
이 정렬은 요소를 문자열로 변환하여 수행됩니다. 그리고 이를 기반으로 UTF-16
코드 단위 값의 시퀀스를 비교합니다.
표준 순서는 항상 오름차순입니다. 이 메서드는 원래 배열을 변경합니다.
통사론:
sort()
sort((firstEl, secondEl) => {...})
sort(compareFn)
sort(function compareFn(firstEl, secondEl) {
...
})
firstEl
및 secondEl
매개변수는 비교 및 정렬해야 하는 배열의 두 요소를 나타냅니다. 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
, 1
및 0
만 반환하고 정렬 메서드가 이러한 문자열을 정렬한다는 것입니다.
위의 코드 블록을 실행하면 다음 출력이 표시됩니다.
출력:
["Fedora", "Linux", "MacOS", "Ubuntu", "Windows"]
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