๋ฌธ์ ์ ๋ ฌ
const arrStr = ['world', 'javascript', 'hello'];
// ๋ฌธ์์ด์ ์๊ธ์ 'w', 'j', 'h' ์๊ธ์๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
arrStr.sort(); // ['hello', 'javascript', 'world']
์ซ์ ์ ๋ ฌ
const arrNum = [11, 2, 33, 4];
// ์ซ์๋ ์์คํค ์ฝ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๊ธฐ ๋๋ฌธ์ ์ซ์ ํฌ๊ธฐ๋๋ก ์ ๋ ฌ์ด ์๋จ
arrNum.sort(); // [11, 2, 33, 4]
// ์์ ํด๊ฒฐ๋ฐฉ์์ผ๋ก๋ .sort(function(a,b){return a-b;});
arrNum.sort(function(a, b){
return a-b; // [2, 4, 11, 33] (์ค๋ฆ์ฐจ์)
});
arrNum.sort(function(a, b){
return b-a; // [33, 11, 4, 2] (๋ด๋ฆผ์ฐจ์)
});
// ํ์ดํ ํจ์
arrNum.sort((a,b) => a-b); // [2, 4, 11, 33] (์ค๋ฆ์ฐจ์)
arrNum.sort((a,b) => b-a); // [33, 11, 4, 2] (๋ด๋ฆผ์ฐจ์)
๊ฐ์ฒด ์ ๋ ฌ
const arrObj = [
{num:2, name:'two'},
{num:3, name:'three'},
{num:1, name:'one'}
];
arrObj.sort(function(a, b){ // num์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
return a.num - b.num;
// [{num:1, name:'one'},{num:2, name:'two'},{num:3, name:'three'}]
});
// num์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ (ํ์ดํ ํจ์)
arrObj.sort((a,b) => b.num-a.num);
arrObj.sort(function(a, b){
return a.name < b.name ? -1 : a.name > b.name ? 1 : 0;
// [{num:1, name:'one'},{num:3, name:'three'},{num:2, name:'two'}]
});
// ์๋๋ ์์ ์ผํญ์ฐ์ฐ์๋ฅผ ํ์ด์ด ๊ฒ
(return a.name < b.name ? -1 : a.name > b.name ? 1 : 0;)
if (a.name < b.name) {
return -1;
} else if (a.name > b.name) {
return 1;
} else {
return 0;
}