Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

특정 단어를 제외하고 알파벳순으로 항목 정렬 JavaScript

<시간/>

예를 들어 문자열 리터럴을 포함하는 두 개의 배열이 있고 그 중 하나는 알파벳순으로 정렬해야 하지만 정렬해야 하는 배열에 다른 배열의 일부 단어가 포함되어 있으면 해당 단어는 맨 위에 나타나야 하고 나머지는 요소는 알파벳순으로 정렬되어야 합니다.

함수를 작성해 봅시다. excludeSorting(arr, ex) 여기서 arr은 정렬할 배열이고 ex는 arr에서 맨 위에 표시되어야 하는 문자열의 배열입니다(arr에 표시되는 경우).

예시

const arr = ['apple', 'cat', 'zebra', 'umbrella', 'disco', 'ball',
'lemon', 'kite', 'jack', 'nathan'];
const toBeExcluded = ['disco', 'zebra', 'umbrella', 'nathan'];
const excludeSort = (arr, ex) => {
   arr.sort((a, b) => {
      if(ex.includes(a)){
         return -1;
      }else if(ex.includes(b)){
         return 1;
      }
      return a > b ? 1 : -1
   });
};
excludeSort(arr, toBeExcluded);
console.log(arr);

출력

콘솔의 출력은 다음과 같습니다. -

[
   'nathan', 'disco',
   'umbrella', 'zebra',
   'apple', 'ball',
   'cat', 'jack',
   'kite', 'lemon'
]