TIL(20210718) - sort() ๋ฉ์๋ ์ฌ์ฉ๋ฒ
๐ Today
- JavaScript Object ๋ณต์ต
- JavaScript Array ํจ์ 10 ์ข ๋ฅ ํ์ต
๐ค Learned
Array.prototype.sort()
๋ฐฐ์ด์ ์์๋ฅผ ์ ๋ ฌ(์ค๋ฆ์ฐจ์)
var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
return a - b;
});
console.log(numbers);
// > Array [1, 2, 3, 4, 5]
๋ฐฐ์ด์ ์์๋ฅผ ์ ๋ ฌ(๋ด๋ฆผ์ฐจ์)
var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
return b - a;
});
console.log(numbers);
// > Array [5, 4, 3, 2, 1]
๊ฐ์ฒด์ ์์ฑ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ(์ค๋ฆ์ฐจ์)
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 }
];
// value ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ(์ค๋ฆ์ฐจ์)
let result = items.sort(function (a, b) {
if (a.value > b.value) {
return 1;
}
if (a.value < b.value) {
return -1;
}
// a must be equal to b
return 0;
});
let real = result.map((el) => el.value)
console.log(real)
// > Array [-12, 13, 21, 37, 37, 45]
๊ฐ์ฒด์ ์์ฑ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ(๋ด๋ฆผ์ฐจ์)
// value ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ(๋ด๋ฆผ์ฐจ์)
let result = items.sort(function (a, b) {
if (a.value > b.value) {
return -1;
}
if (a.value < b.value) {
return 1;
}
// a must be equal to b
return 0;
});
let real = result.map((el) => el.value)
console.log(real)
// > Array [45, 37, 37, 21, 13, -12]
sort() ๊ฐ์ฒด์ ์์ฑ๊ฐ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ ํ๋ ๋ถ๋ถ์ ์ฒ์ ๋ดค์ ๋ ์ด๊ฒ ๋ญ๊ฐ ์ถ์๋๋ฐ ์์ฉ ๋์ด ์๋ ๋ถ๋ถ์ ๋ด์
์ดํดํ๊ธฐ ์ด๋ ค์ ๋ ๊ฒ ๊ฐ๋ค.
๋ค์ ๋ณด๋ ์ ๋ณด๋ค๋ ํจ์ฌ ์ดํด๊ฐ ์ ๋๋ค. ์์ฃผ ์ฝ์ด ๋ด์ผ๊ฒ ๋ค
์ด์ธ์๋
some(), every() ํจ์ ๋ฑ๋ ๋ฐฐ์ ๋๋ฐ ๊ฐ์ธ์ ์ธ ์๊ฐ์ผ๋ก filter(), map(), reduce() ํจ์๋ก ๋์ฒด ๊ฐ๋ฅํ๋ค๊ณ ์๊ฐ๋์ด ๋ฐ๋ก ์ ๋ฆฌํ์ง๋ ์์๋ค.
์ดํ์ ์ ๋ฆฌ๊ฐ ํ์ํ๋ค๊ณ ์๊ฐ์ด ๋ค๋ฉด ์ ๋ฆฌํด์ผ๊ฒ ๋ค.
๐ Tomorrow
- ์ปค๋ฆฌํ๋ผ ๋ณต์ต
- JavaScript ์ฝ๋ฐฑ ํ์ต
- ์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถ