0331 TIL : sort메서드에 연산자를 활용해보자

Clear·2023년 3월 30일
0

Daily Posting

목록 보기
14/27

1. || 연산자 사용:

sort메서드에서 || 연산자를 활용해. 동점일 경우 우선순위를 부여할 수 있다.

const items = [
  { name: 'A', priority: 1 },
  { name: 'B', priority: 2 },
  { name: 'C', priority: 1 },
];

items.sort((a, b) => a.priority - b.priority || a.name.localeCompare(b.name));
  • 여기에서 항목은 주로 '우선 순위' 속성에 따라 정렬됩니다.
  • 두 항목의 우선 순위가 같으면 localeCompare() 메서드를 사용하여 name 속성에 따라 알파벳순으로 정렬됩니다

2. && 연산자 사용:

&& 연산자는 정렬이 발생하기 전에 충족되어야 하는 조건을 정의하는 데 사용합니다.

특정 조건이 충족되는 경우에만 항목을 정렬하고 나머지는 정렬하지 않은 상태로 두려는 경우에 유용합니다.

const items = [
  { name: 'A', priority: 1, isImportant: true },
  { name: 'B', priority: 2, isImportant: false },
  { name: 'C', priority: 1, isImportant: true },
];

items.sort((a, b) => (a.isImportant && b.isImportant ? a.priority - b.priority : 0));


console.log(arr); // ['pear', 'apple', 'banana', 'peach', 'orange']
  • 이 예에서는 a와 b 모두 isImportant 속성이 true로 설정된 경우에만 priority 속성에 따라 항목이 정렬됩니다.
  • 항목의 'isImportant' 속성 중 하나 또는 둘 모두가 'false'이면 순서가 변경되지 않습니다.

요약

||(OR) 연산자는 sort() 메서드에서 동점일 경우 대체 정렬 기준을 제공하는 데 사용되는 반면,
&&(AND) 연산자는 정렬을 위해 선행되어야 하는 조건을 지정하는 데 사용될 수 있습니다.

0개의 댓글