1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| const person = [ { name : "john", age : 25}, { name : "smith", age : 15}, { name : "ro", age : 35}, { name : "park", age : 45} ]
/* 이름순으로 정렬 */ // 문자열끼리 비교할 때는 비교연산자를 사용한다.
// 오름차순(ES6) console.log(person.sort((a, b) => { return a.name < b.name ? -1 : a.name > b.name ? 1 : 0; })); // [ { name: 'john', age: 25 }, { name: 'park', age: 45 }, { name: 'ro', age: 35 }, { name: 'smith', age: 15 } ]
// 오름차순(ES5) console.log(person.sort(function(a, b) { return a.name < b.name ? -1 : a.name > b.name ? 1 : 0; })); // [ { name: 'john', age: 25 }, { name: 'park', age: 45 }, { name: 'ro', age: 35 }, { name: 'smith', age: 15 } ]
// 내림차순(ES6) console.log(person.sort((a, b) => { return a.name > b.name ? -1 : a.name < b.name ? 1 : 0; })); // [ { name: 'smith', age: 15 }, { name: 'ro', age: 35 }, { name: 'park', age: 45 }, { name: 'john', age: 25 } ]
// 내림차순(ES5) console.log(person.sort(function(a, b) { return a.name > b.name ? -1 : a.name < b.name ? 1 : 0; })); // [ { name: 'smith', age: 15 }, { name: 'ro', age: 35 }, { name: 'park', age: 45 }, { name: 'john', age: 25 } ]
/* 나이순으로 정렬 */ // 숫자끼리 비교할 때는 뺄셈연산자를 사용한다.
const sortingField = "age";
// 오름차순(ES6) console.log(person.sort((a, b) => { return a[sortingField] - b[sortingField]; })); // [ { name: 'smith', age: 15 }, { name: 'john', age: 25 }, { name: 'ro', age: 35 }, { name: 'park', age: 45 } ]
// 오름차순(ES5) console.log(person.sort(function(a, b) { return a[sortingField] - b[sortingField]; })); // [ { name: 'smith', age: 15 }, { name: 'john', age: 25 }, { name: 'ro', age: 35 }, { name: 'park', age: 45 } ]
// 내림차순(ES6) console.log(person.sort((a, b) => { return b[sortingField] - a[sortingField]; })); // [ { name: 'park', age: 45 }, { name: 'ro', age: 35 }, { name: 'john', age: 25 }, { name: 'smith', age: 15 } ]
// 내림차순(ES5) console.log(person.sort(function(a, b) { return b[sortingField] - a[sortingField]; })); // [ { name: 'park', age: 45 }, { name: 'ro', age: 35 }, { name: 'john', age: 25 }, { name: 'smith', age: 15 } ]
|