동적 JavaScript 배열을 정렬해야 합니다. 조건은 미리 정의된 표준 배열에서 특정 순서로 저장된 값에 따라 정렬해야 한다는 것입니다.
다음이 동적 배열이라고 가정해 보겠습니다. -
const dbArray = ['Apple','Banana','Mango','Apple','Mango','Mango','Apple'];
그리고 위의 배열을 정렬해야 하는 표준 배열이 다음과 같다고 가정합니다. -
const stdArray = ['Mango','Apple','Banana','Grapes'];
따라서 dbArray를 정렬한 후 결과 배열은 다음과 같아야 합니다. -
const resultArray = ['Mango','Mango','Mango','Apple','Apple','Apple','Banana'];
예시
다음은 코드입니다 -
const dbArray = ['Apple','Banana','Mango','Apple','Mango','Mango','Apple']; const stdArray = ['Mango','Apple','Banana','Grapes']; const sortByRef = (arr, ref) => { const sorter = (a, b) => { return ref.indexOf(a) - ref.indexOf(b); }; arr.sort(sorter); }; sortByRef(dbArray, stdArray); console.log(dbArray);
출력
다음은 콘솔의 출력입니다 -
[ 'Mango', 'Mango', 'Mango', 'Apple', 'Apple', 'Apple', 'Banana' ]