다음과 같은 두 개의 배열이 있다고 가정합니다. -
const input = ['S-1','S-2','S-3','S-4','S-5','S-6','S-7','S-8']; const sortingArray = ["S-1", "S-5", "S-2", "S-6", "S-3", "S-7", "S-4", "S-8"];
우리는 각각 첫 번째와 두 번째 인수와 같은 두 개의 배열을 취하는 JavaScript 함수를 작성해야 합니다.
함수는 두 번째 배열의 위치에 따라 첫 번째 배열의 요소를 정렬해야 합니다.
이에 대한 코드는 -
예시
const input = ['S-1','S-2','S-3','S-4','S-5','S-6','S-7','S-8']; const sortingArray = ["S-1", "S-5", "S-2", "S-6", "S-3", "S-7", "S-4", "S-8"]; const sortByReference = (arr1 = [], arr2 = []) => { const sorter = (a, b) => { const firstIndex = arr2.indexOf(a); const secondIndex = arr2.indexOf(b); return firstIndex - secondIndex; }; arr1.sort(sorter); }; sortByReference(input, sortingArray); console.log(input);
출력
콘솔의 출력은 -
[ 'S-1', 'S-5', 'S-2', 'S-6', 'S-3', 'S-7', 'S-4', 'S-8' ]