id 속성에 따라 정렬된 다음 객체 배열이 있다고 가정해 보겠습니다. -
const unordered = [{ id: 1, string: 'sometimes' }, { id: 2, string: 'be' }, { id: 3, string: 'can' }, { id: 4, string: 'life' }, { id: 5, string: 'tough' }, { id: 6, string: 'very' }, ];
그리고 이와 같은 문자열의 또 다른 배열 -
const ordered = ['Life', 'sometimes', 'can', 'be', 'very', 'tough'];
첫 번째 배열을 정렬하여 문자열 속성이 두 번째 배열의 문자열 순서와 같도록 해야 합니다. 따라서 이에 대한 코드를 작성해 보겠습니다.
예시
const unordered = [{ id: 1, string: 'sometimes' }, { id: 2, string: 'be' }, { id: 3, string: 'can' }, { id: 4, string: 'life' }, { id: 5, string: 'tough' }, { id: 6, string: 'very' }, ]; const ordered = ['Life', 'sometimes', 'can', 'be', 'very', 'tough']; const sorter = (a, b) => { return ordered.indexOf(a.string) - ordered.indexOf(b.string); }; unordered.sort(sorter); console.log(unordered);
출력
콘솔의 출력은 -
[ { id: 4, string: 'life' }, { id: 1, string: 'sometimes' }, { id: 3, string: 'can' }, { id: 2, string: 'be' }, { id: 6, string: 'very' }, { id: 5, string: 'tough' } ]