Array sort

array sort는 기본적으로 배열을 정렬해주는 기능이다.

const arr = ["a", "c", "b"];
console.log(arr.sort());

(3) [‘a’, ‘b’, ‘c’]

하지만 자기만의 순서가 필요한 경우 비교함수를 만들어서 정렬해야 한다. 함수의 인자 a, b에서 a가 작을 경우 음수, 같을 경우 0, 클 경우 양수를 리턴하면 된다.

const fruits = ["apple", "strawberry", "avocade"];

const sortFruitsByLength = (fruitA, fruitB) => {
  return fruitA.length - fruitB.length;
};

console.log(fruits.sort(sortFruitsByLength));

(3) [‘apple’, ‘avocade’, ‘strawberry’]

sort는 오브젝트를 정렬할 때 아주 유용하다.

const people = [
  {
    name: "Tom",
    age: 20,
  },
  {
    name: "James",
    age: 25,
  },
];

const orderPeopleByAge = (personA, personB) => {
  return personA.age - personB.age;
};

console.log(people.sort(orderPeopleByAge));

(3) [{name: ‘Tom’, age: 20}, {name: ‘James’, age: 25}]

sort는 이전에 배운 다양한 함수와 달리 원본 array를 변경시킨다.