Array.prototype.sort([compareFunction])


Category : Javascript

const numArr = [1, 3, 2, 10];
const strArr = ['banana', 'apple', 'carrot'];

console.log(numArr.sort()); // [1, 10, 2, 3]
console.log(strArr.sort()); // ['apple', 'banana', 'carrot']
const compareFunction = (a, b) => {
  if (a < b) { // [a, b]
    return -1;
		// return -100도 가능
  }
  if (a === b) { // [a, b]
    return 0;
  }
  if (a > b) { // [b, a]
    return 1;
		// return 100도 가능
  }
};
console.log(numArr.sort(compareFunction)); // [1, 2, 3, 10]

numArr을 오름차순으로 정렬

const compareFunction = (a, b) => {
  return a-b;
};
console.log(numArr.sort(compareFunction)); // [1, 2, 3, 10]

const compareFunction = (a, b) => {
  return b-a;
};
console.log(numArr.sort(compareFunction)); // [10, 3, 2, 1]

추가) strArr을 내림차순으로 정렬

const strArr = ['banana', 'apple', 'carrot'];
const compareFunction = (a, b) => {
  if (a < b) { // [b, a]
    return 1;
  }
  if (a === b) { // [a, b]
    return 0;
  }
  if (a > b) { // [a, b]
    return -1;
  }
};
console.log(strArr.sort(compareFunction)); // ['carrot', 'banana', 'apple']