JavaScript/이론
[Javascript] 정렬
sirius
2021. 3. 16. 10:44
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é