js 정렬 sort()

x·2021년 7월 23일
0

javascript

목록 보기
1/1

배열에 sort()를 사용하면 배열이 정렬되고 그 배열이 반환된다.
sort()의 인수로 compare function이 있을 수 있는데 전달하지 않으면 원소를 문자열로 변환하고 유니코드 코드 포인트 순서로 문자열을 비교해서 정렬한다.

let arr = [0, 99, 100, 3, 4, 5, 6];

arr.sort();  // [0, 100, 3, 4, 5, 6, 99]

arr.sort((a,b)=>{if(a<b)return -1; else if(a>b) return 1; return 0;})  // [0, 3, 4, 5, 6, 99, 100]

arr.sort((a,b)=>{return a-b;})  // [0, 3, 4, 5, 6, 99, 100]

arr.sort((a,b)=>{return b-a;})  // [100, 99, 6, 5, 4, 3, 0]

list of object인 경우 object의 속성을 기준으로 정렬

var items = [
  { name: 'Edward', value: 21 },
  { name: 'Sharpe', value: 37 },
  { name: 'And', value: 45 },
  { name: 'The', value: -12 },
  { name: 'Magnetic', value: 13 },
  { name: 'Zeros', value: 37 }
];

// value 기준으로 정렬
items.sort(function (a, b) {
  if (a.value > b.value) {
    return 1;
  }
  if (a.value < b.value) {
    return -1;
  }
  // a must be equal to b
  return 0;
});

// name 기준으로 정렬
items.sort(function(a, b) {
  var nameA = a.name.toUpperCase(); // ignore upper and lowercase
  var nameB = b.name.toUpperCase(); // ignore upper and lowercase
  if (nameA < nameB) {
    return -1;
  }
  if (nameA > nameB) {
    return 1;
  }

  // 이름이 같을 경우
  return 0;
});

https://developer.mozilla.org/ko/docs/orphaned/Web/JavaScript/Reference/Global_Objects/Array/sort

0개의 댓글