본문으로 바로가기
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


자바스크립트 문자, 숫자 오름차순 내림차순 정렬


자바에서는 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