본문 바로가기

JavaScript

[#. JavaScript] sort()를 이용해서 오름차순, 내림차순 정렬하기

반응형

 

 

 

 

 

sort() 메서드는 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환하며

return 값이 음수, 양수, 0인지에 따라서 순서를 정한다

 

파라미터로 보통 a, b 두 개의 값을 받으며,

a는 배열의 n+1 값, b는 n 값이다

 

const arr = [2, 1, 3, 10];

var data = arr.sort((a, b) =>  {
  console.log(a, b);	
  // 1 2
  // 3 1
  // 10 3
});

 

 

❶ a, b 파라미터 값이 없을 경우

배열의 값들은 유니코드 값 순서대로 정렬된다

 

const arr = [2, 1, 3, 10];
arr.sort();
console.log(arr);	// [1, 10, 2, 3]

 

 

 

❷ a, b 파라미터 값이 있을 경우

 

함수의 리턴 값이 0보다 작은 음수일 경우,  a가 b보다 앞에 오도록 정렬하고(오름차순)

함수의 리턴 값이 0보다 큰 양수일 경우, b가 a보다 앞에 오도록 정렬한다(내림차순)

리턴 값이 0일 경우, a와 b의 순서를 변경하지 않는다

 

 

 

 

 

 

① sort() 오름차순 정렬

 

const arr = [2, 1, 3, 10];

const ab = arr.sort((a, b) =>  {
  return a - b;
});

console.log(data);	// [1, 2, 3, 10]

 

 

 

 

sort() 내림차순 정렬

 

const arr = [2, 1, 3, 10];

const ba = arr.sort((a, b) =>  {
  return b - a;
});

console.log(data);	// [10, 3, 2, 1]

 

 

datas 배열의 value 값을 기준으로 내림차순 정렬

 

const datas = [
 {"id": 1, "value": 111},
 {"id": 2, "value": 222},
 {"id": 3, "value": 333}
]

const desc = datas.sort((a, b) => b.value - a.value);
console.log(desc);

 

 

 

 

 

 

 

 

 

반응형