Javascript

[javascript] ๋ฐฐ์—ด ์ •๋ ฌํ•˜๊ธฐ (๋ฌธ์ž, ์ˆซ์ž, ๊ฐ์ฒด ์˜ค๋ฆ„์ฐจ์ˆœ, ๋‚ด๋ฆผ์ฐจ์ˆœ)

ddon 2021. 6. 13. 22:00
๋ฌธ์ž ์ •๋ ฌ
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;
}