ETC 코딩/JS

[Javascript] Array를 특정 값에 따라 sort하는 함수

세리둥절 2022. 10. 5. 20:27
반응형

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

 

Array.prototype.sort() - JavaScript | MDN

sort() 메서드는 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환합니다. 정렬은 stable sort가 아닐 수 있습니다. 기본 정렬 순서는 문자열의 유니코드 코드 포인트를 따릅니다.

developer.mozilla.org

 

 

Array를 특정 값(value)에 따라 오름차순 혹은 내림차순으로 sort할 때 사용하는 함수를 아래와 같이 만들 수 있다.

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 }
];


// array를 value값에 따라 sort하는 함수
  const sortByValueAsc = (array:any) => {
    array.sort(function (a:any, b:any) {
      if (a.value > b.value) {
        return 1;
      }
      if (a.value < b.value) {
        return -1;
      }
      return 0;
    });
    return array
  }
  
  const sortByValueDesc = (array:any) => {
    array.sort(function (a:any, b:any) {
      if (a.value > b.value) {
        return -1;
      }
      if (a.value < b.value) {
        return 1;
      }
      return 0;
    });
    return array
  }
  
  // 사용하기
  console.log(sortByValueAsc(items));
  console.log(sortByValueDesc(items));

 

반응형