๐Ÿค” TIL(Today I Learned)

TIL(20210718) - sort() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ๋ฒ•

Seungjae Lee 2021. 7. 18. 22:02

๐ŸŽ 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 ์ฝœ๋ฐฑ ํ•™์Šต

- ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€