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 중국어 웹사이트의 기타 관련 기사를 참조하세요!