JavaScript
자바스크립트 문자, 숫자 오름차순 내림차순 정렬
ktko
2018. 7. 2. 20:47
자바스크립트 문자, 숫자 오름차순 내림차순 정렬
자바에서는 Comparable라는 인터페이스를 통해 클래스 안에 Property를 비교하여 객체간의 정렬을 할 수 있다.
Javascript에서는 Array.prototype.sort()를 통해 객체 속성을 기준으로 문자, 또는 숫자를 오름차순 내림차순 정렬할 수 있다.
var array = [4, 2, 1, 3, 5]; array.sort(function(a, b) { return a - b; }); console.log(array); console.log("============================================================"); 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 } ]; for(var i=0; i < items.length; i++) { console.log(items[i]); } console.log("============================================================"); // sort by value items.sort(function (a, b) { return a.value - b.value; }); for(var i=0; i < items.length; i++) { console.log(items[i]); } console.log("============================================================"); // sort by name items.sort(function(a, b) { var nameA = a.name.toUpperCase(); // ignore upper and lowercase var nameB = b.name.toUpperCase(); // ignore upper and lowercase if (nameA < nameB) { return -1; } if (nameA > nameB) { return 1; } // names must be equal return 0; }); for(var i=0; i < items.length; i++) { console.log(items[i]); } console.log("============================================================"); var items = ['réservé', 'premier', 'cliché', 'communiqué', 'café', 'adieu']; items.sort(function (a, b) { return a.localeCompare(b); }); for(var i=0; i < items.length; i++) { console.log(items[i]); }
결과
[ 1, 2, 3, 4, 5 ]
============================================================
{ name: 'Edward', value: 21 }
{ name: 'Sharpe', value: 37 }
{ name: 'And', value: 45 }
{ name: 'The', value: -12 }
{ name: 'Magnetic', value: 13 }
{ name: 'Zeros', value: 37 }
============================================================
{ name: 'The', value: -12 }
{ name: 'Magnetic', value: 13 }
{ name: 'Edward', value: 21 }
{ name: 'Sharpe', value: 37 }
{ name: 'Zeros', value: 37 }
{ name: 'And', value: 45 }
============================================================
{ name: 'And', value: 45 }
{ name: 'Edward', value: 21 }
{ name: 'Magnetic', value: 13 }
{ name: 'Sharpe', value: 37 }
{ name: 'The', value: -12 }
{ name: 'Zeros', value: 37 }
============================================================
adieu
café
cliché
communiqué
premier
réservé
출처
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort