프로그래밍언어/Javascript & Typescript
TypeScript(JavaScript) Array.sort() 함수 사용법
D.Y
2019. 12. 17. 00:38
반응형
안녕하세요.
오늘은 자바스크립트의 Array 객체의 내장함수 sort()에 대해서 알아보겠습니다.
sort() 내장함수에는 파라미터가 Optional하게 들어갑니다.
구체적인 비교가 필요할 경우 compareFunction을 작성하여 넣어주면 됩니다.
코드 (TypeScript)
/**
* 자바스크립트 Array 객체의 내장 함수 sort()
*
* sort() 내장함수에는 파라미터가 Optional(compareFunction)하게 들어간다.
* 구체적인 비교가 필요할 경우 compareFunction을 작성하여 넣어주면 된다.
*
* compareFunction(a, b)
* - 리턴값이 0보다 작은 경우 a를 b보다 앞으로 정렬
* - 리턴값이 0보다 큰 경우 b를 a보다 앞으로 정렬
* - 리턴값이 0인 경우 변경 없음
*/
function main(): void
{
// # 01. Example
let arr: number[] = [1, 4, 12, 10, 9];
// 기본 정렬
arr.sort();
console.log(arr); // expected output: [1, 10, 12, 4, 9]
// 오름차순 정렬 방법
arr.sort((a: number, b: number): number => {
return a - b;
});
console.log(arr); // expected output: [1, 4, 9, 10, 12]
// 내림차순 정렬 방법
arr.sort((a: number, b: number): number => {
return b - a;
});
console.log(arr); // expected output: [12, 10, 9, 4, 1]
// # 02. Example - value에 따른 정렬
let arr2: IUser[] =
[
{ name: '자바', value: 13 },
{ name: '고', value: 29 },
{ name: '타입스크립트', value: 81 },
{ name: '파이썬', value: 77 },
{ name: '자바스크립트', value: 29 }
];
// 오름차순 정렬 방법
arr2.sort((a: IUser, b: IUser): number => {
return a.value - b.value;
});
console.log(arr2);
/**
* expected output:
* [
* { name: '자바', value: '13' },
* { name: '고', value: '29' },
* { name: '자바스크립트', value: '29' },
* { name: '파이썬', value: '77' },
* { name: '타입스크립트', value: '81' }
* ]
*/
// 내림차순 정렬 방법
arr2.sort((a: IUser, b: IUser): number => {
return b.value - a.value;
});
console.log(arr2);
/**
* expected output:
* [
* { name: '타입스크립트', value: '81' },
* { name: '파이썬', value: '77' },
* { name: '고', value: '29' },
* { name: '자바스크립트', value: '29' },
* { name: '자바', value: '13' }
* ]
*/
}
main();
interface IUser
{
name: string;
value: number;
}
코드(JavaScript)
function main()
{
// # 01. Example
let arr = [1, 4, 12, 10, 9];
// 기본 정렬
arr.sort();
console.log(arr); // expected output: [1, 10, 12, 4, 9]
// 오름차순 정렬 방법
arr.sort((a, b) => {
return a - b;
});
console.log(arr); // expected output: [1, 4, 9, 10, 12]
// 내림차순 정렬 방법
arr.sort((a, b) => {
return b - a;
});
console.log(arr); // expected output: [12, 10, 9, 4, 1]
// # 02. Example - value에 따른 정렬
let arr2 = [
{ name: '자바', value: '13' },
{ name: '고', value: '29' },
{ name: '타입스크립트', value: '81' },
{ name: '파이썬', value: '77' },
{ name: '자바스크립트', value: '29' }
];
// 오름차순 정렬 방법
arr2.sort((a, b) => {
return a.value - b.value;
});
console.log(arr2);
/**
* expected output:
* [
* { name: '자바', value: '13' },
* { name: '고', value: '29' },
* { name: '자바스크립트', value: '29' },
* { name: '파이썬', value: '77' },
* { name: '타입스크립트', value: '81' }
* ]
*/
// 내림차순 정렬 방법
arr2.sort((a, b) => {
return b.value - a.value;
});
console.log(arr2);
/**
* expected output:
* [
* { name: '타입스크립트', value: '81' },
* { name: '파이썬', value: '77' },
* { name: '고', value: '29' },
* { name: '자바스크립트', value: '29' },
* { name: '자바', value: '13' }
* ]
*/
}
main();
참조
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
반응형