>  기사  >  웹 프론트엔드  >  JavaScript에서 문자열을 올바르게 정렬하는 방법은 무엇입니까?

JavaScript에서 문자열을 올바르게 정렬하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-24 18:40:25373검색

How to Correctly Sort Strings in JavaScript?

JavaScript에서 문자열 정렬

많은 JavaScript 개발자는 문자열 속성을 기반으로 객체 목록을 정렬하려고 할 때 문제에 직면합니다. JavaScript의 문자열 동작. 이 기사에서는 이 일반적인 문제에 대한 해결책을 살펴봅니다.

문제:

알았듯이 a.attr - b.attr에서와 같이 단순히 한 문자열을 다른 문자열에서 빼면 됩니다. , JavaScript에서 문자열을 정확하게 정렬하지 않습니다. 이는 JavaScript가 문자열을 유니코드 문자로 처리하고 기본 산술 연산이 이를 비교하는 데 적합하지 않기 때문입니다.

해결책:

문자열을 효과적으로 정렬하려면 다음을 활용할 수 있습니다. String.prototype.localeCompare 메소드. 이 방법은 로케일에 따른 문자열 비교를 제공하므로 정렬에 더 적합합니다. 다음은 localeCompare를 사용하는 코드의 업데이트된 버전입니다.

list.sort(function(a, b) {
    return ('' + a.attr).localeCompare(b.attr);
});

두 값이 모두 문자열로 강제 변환되도록 빈 문자열 연결('' a.attr)을 추가했습니다. 이는 잠재적인 예외를 피하기 위한 것입니다.

대안:

더 간결한 접근 방식을 선호하고 로케일 민감도를 고려할 필요가 없는 경우 다음을 사용할 수 있습니다. 코드 조각:

if (item1.attr < item2.attr)
    return -1;
if ( item1.attr > item2.attr)
    return 1;
return 0;

위 내용은 JavaScript에서 문자열을 올바르게 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.