보조 값을 기준으로 배열 재배열
JavaScript에서는 다음에서 지정한 순서에 따라 하나의 배열을 정렬해야 하는 시나리오가 있을 수 있습니다. 또 다른 배열. 이는 요소의 순서가 중요한 데이터 구조로 작업할 때 특히 유용할 수 있습니다.
다음 예를 고려하세요.
itemsArray = [ ['Anne', 'a'], ['Bob', 'b'], ['Henry', 'b'], ['Andrew', 'd'], ['Jason', 'c'], ['Thomas', 'b'] ]; sortingArr = [ 'b', 'c', 'b', 'b', 'a', 'd' ];
이 경우 목표는 itemsArray를 다음으로 재배열하는 것입니다. sortingArr의 순서와 일치합니다. 안타깝게도 요소를 추적할 수 있는 ID가 없으므로 순서를 최대한 일치시키는 것이 우선입니다.
해결책:
이를 달성하려면 다음을 수행하세요. 사용자 정의 비교 기능과 함께 JavaScript의 내장 sort() 메서드를 활용합니다. 비교 함수는 sortingArr의 해당 값을 기준으로 itemsArray의 두 요소를 비교합니다.
itemsArray.sort(function(a, b){ return sortingArr.indexOf(a) - sortingArr.indexOf(b); });
이 표현식은 본질적으로 sortingArr에 있는 해당 요소의 해당 인덱스를 기준으로 itemsArray를 정렬합니다. 결과적으로 재배열된 배열은 다음과 유사합니다.
itemsArray = [ ['Bob', 'b'], ['Jason', 'c'], ['Henry', 'b'], ['Thomas', 'b'] ['Anne', 'a'], ['Andrew', 'd'], ];
이 솔루션은 sortingArr에서 지정한 순서에 우선순위를 부여하고 원하는 배열로 itemsArray를 출력합니다.
위 내용은 JavaScript에서 다른 배열의 순서에 따라 하나의 배열을 정렬하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!