leemember / FE_growing

๐Ÿง‘๐Ÿปโ€๐ŸŒพ TIL Record Repo & FE ์‹ค๋ฌด์—์„œ ๋งˆ์ฃผ ํ–ˆ๋˜ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…๊ณผ ๊ฒฝํ—˜ ์† ๋Ÿฌ๋‹ ํฌ์ธํŠธ

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

๐Ÿ”Ž ๊ฒ€์ƒ‰ ๊ตฌํ˜„ ํ•˜๋ฉด์„œ ๋Š๋‚€์ 

leemember opened this issue ยท comments

๐Ÿ”Ž ๊ฒ€์ƒ‰ ๊ตฌํ˜„

(1) ์ตœ๊ทผ ๊ฒ€์ƒ‰ํ•œ ํ‚ค์›Œ๋“œ โ†’ ํ‚ค์›Œ๋“œ๋ฅผ ๊ฒ€์ƒ‰ ํ›„ ํ•ด๋‹น ์•„์ดํ…œ์„ ํด๋ฆญ ํ–ˆ์„ ๋•Œ ์ด๋ฒคํŠธ ๊ฑธ๊ธฐ

์ค‘๋ณต๋œ ๊ฒ€์ƒ‰์–ด๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ์˜›๋‚  ๊ธฐ๋ก์€ ์ง€์›Œ์ง€๊ณ  ์ตœ์‹  ๊ธฐ๋ก์„ ์•ž์œผ๋กœ ๋‹น๊ธด๋‹ค.
๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ ๋‚ด์—ญ 10๊ฐœ ๊นŒ์ง€๋งŒ ๋ณด์—ฌ์ง€๋„๋ก ! 11๊ฐœ ์งธ๋ถ€ํ„ฐ ์‚ฌ๋ผ์ง€๊ณ  ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€๋œ๋‹ค.

์‚ฌ์šฉํ•œ ๋ฉ”์„œ๋“œ filter, _(lodash), unshift, pop, localstorage

์กฐ๊ฑด 1. ์ค‘๋ณต๋œ ๊ฒ€์ƒ‰์–ด๊ฐ€ ์žˆ๋‹ค๋ฉด

_ lodash

if (_.filter(๊ฒ€์ƒ‰๋œ ๋ฆฌ์ŠคํŠธ, ๊ฒ€์ƒ‰ํ•œ ํ‚ค์›Œ๋“œ).length > 0) {
    ...
}

๊ฒ€์ƒ‰๋œ ๋ฆฌ์ŠคํŠธ์— ๋‚ด๊ฐ€ ๊ฒ€์ƒ‰ํ•œ ํ‚ค์›Œ๋“œ ๊ฐ’์ด ์žˆ๋‹ค๋ฉด 1 ์—†๋‹ค๋ฉด -1์ด๋‹ค. (indexOf) ๊ฐ™์€ ์—ญํ• ์„ ํ•ด์ค€๋‹ค.

๊ทธ๋Ÿฌ๋ฏ€๋กœ ์žˆ์„ ๊ฒฝ์šฐ 0๋ณด๋‹ค ํดํ…Œ๋‹ˆ ๋ถ€๋“ฑํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ๊ฑด์„ ๊ฑธ์–ด์ฃผ๊ณ  ๋ธ”๋ก์•ˆ์— ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์žˆ๋„๋ก ์ฝ”๋“œ ๋กœ์ง์„ ์ƒ์„ฑํ•œ๋‹ค.

๐Ÿ“ filter

keywordList = keywordList.filter((item) => {
   // item์˜ ๊ฒ€์ƒ‰๋ช…๊ณผ ๋‚ด๊ฐ€ ํด๋ฆญํ•œ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์•„์ดํ…œ์ด ๋‹ค๋ฅธ ์• ๋“ค์€ ์•ž์œผ๋กœ ๋ณด๋‚ด๊ธฐ
   return item.coin !== newCoinMarket.coin || item.market !== newCoinMarket.market;
});

// ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์— ๋‚ด๊ฐ€ ํด๋ฆญํ•œ ๊ฐ์ฒด๋ฅผ ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•ด์ฃผ์ž
keywordList.unshift(newCoinMarket);
}

filter์™€ map์€ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์ฃผ๋Š” ES6 ๋ฌธ๋ฒ•์ด๋‹ค. ๊ทธ๋ž˜์„œ ์ „์—ญ๋ณ€์ˆ˜๋กœ ์„ ์–ธ๋œ keywordList์˜ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด๊ฐ’์„ ๋งŒ๋“ค์–ด์ฃผ๋Š”๋ฐ, ์ด์ฒ˜๋Ÿผ ๋ฐ˜ํ™˜๋œ ๊ฐ’์ด ํ˜„์žฌ ์žˆ๋˜ item์˜ coin๊ณผ ๋‚ด๊ฐ€ ์ฐพ๊ณ ์ž ํ•œ coin์ด ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ~ ( || (OR) ์—ฐ์‚ฐ์ž) market ๋˜ํ•œ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๋‹ค๋ฅธ ์• ๋“ค์€ ์•ž์œผ๋กœ ๋ณด๋‚ด์ค€๋‹ค. (unShift) ์ด๋ ‡๊ฒŒ filter๋กœ ํ•˜์—ฌ๊ธˆ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์ค€๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์ด ๋งŒ๋“ค์–ด์ง„ keywordList ๋ฐฐ์—ด์— ๋‚ด๊ฐ€ ํด๋ฆญํ•œ ์•„์ดํ…œ์„ ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•ด์คŒ์œผ๋กœ์„œ ์ตœ๊ทผ ๊ฒ€์ƒ‰ํ•œ ๊ฒ€์ƒ‰๋ช…์— ์ค‘๋ณต๋œ ์• ๋“ค์€ ํ•œ ๋ฒˆ์— ์ทจํ•ฉ๋ผ์„œ ์ตœ์‹  ๊ธฐ๋ก ์ˆœ์„œ๋กœ ์˜ฎ๊ฒจ์ง€๊ฒŒ ๋˜๊ณ  ์ค‘๋ณต๋œ ๊ฐ’๋“ค์€ ์•ž์œผ๋กœ ๊ฐ€๋ฉด์„œ new ๋ฐฐ์—ด๊ฐ’์ด ์ƒ๊ธฐ๋„๋ก ํ–ˆ๋‹ค.

๐Ÿ“ ์ž‘์—…ํ•˜๋ฉด์„œ ํ—ท๊ฐˆ๋ฆฐ ๊ฒƒ.

ํ™”์‚ดํ‘œํ•จ์ˆ˜์—์„œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•  ๋•Œ, function ํ•จ์ˆ˜์™€๋Š” ๋‹ฌ๋ฆฌ
const sum = (num1, num2) => num1 + num2 ์ด๋ ‡๊ฒŒ ๋ธ”๋ก ์—†์ด ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

ํ•˜์ง€๋งŒ ๋ธ”๋ก์•ˆ์—์„œ๋Š” retrun์„ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.

arrow ํ•จ์ˆ˜ return?

const sum = (num1, num2) => {
 return num1 + num2;
}

์กฐ๊ฑด 2. ์ค‘๋ณต๋œ ์•„์ดํ…œ์ด ์—†์„ ๊ฒฝ์šฐ โ†’ ๋ณด์—ฌ์งˆ ์ˆ˜ ์žˆ๋Š” ์•„์ดํ…œ์€ ์ตœ๋Œ€ 10๊ฐœ ์ฒ˜๋ฆฌ

unShift๋กœ ๋ฆฌ์ŠคํŠธ์— ์•„์ดํ…œ ์ถ”๊ฐ€ํ•˜๊ธฐ

์กฐ๊ฑด 3. 10๊ฐœ๊ฐ€ ์ดˆ๊ณผ ๋์„ ๊ฒฝ์šฐ ?

  • ๋งˆ์ง€๋ง‰ ์ˆœ์„œ์— ์œ„์น˜ํ•œ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ ์ œ๊ฑฐํ•˜๊ธฐ (pop)
  • ๊ทธ๋ฆฌ๊ณ  ์ƒˆ๋กœ์šด ์•„์ดํ…œ ์ตœ์‹  ์ˆœ์„œ๋กœ ์ถ”๊ฐ€ํ•˜๊ธฐ (unShift)
  • ๊ฒฐ๋ก ์ ์œผ๋กœ ์ด๋ ‡๊ฒŒ ์กฐ๊ฑด๋ฌธ์„ ๊ฑฐ์นœ ์• ๋“ค์€ ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅํ•ด์ค€๋‹ค.

๊ทธ๋ ‡๊ฒŒ ์ตœ๊ทผ ๊ฒ€์ƒ‰ํ•œ ๊ฐ€์ƒ์ž์‚ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์™„๋ฃŒ

(2) ๊ฒ€์ƒ‰ ํ•„ํ„ฐ๋ง

  1. ๊ฒ€์ƒ‰๋ช… (ํ•œ๊ธ€, ์˜์–ด)
    2.๊ฒ€์ƒ‰ํ•œ ํ‚ค์›Œ๋“œ์˜ ์‹ฌ๋ณผ๋ช…
  2. ํ•œ๊ธ€ ์ดˆ์„ฑ
  3. ์˜์–ด๋กœ '๊ฒ€์ƒ‰๋ช…' ์ž…๋ ฅํ•  ๋•Œ, ์ด 4๊ฐ€์ง€ ์กฐ๊ฑด์ด ์„ฑ๋ฆฝ๋ผ์„œ ๊ฒ€์ƒ‰์‹œ ์ฐพ๊ณ ์žํ•˜๋Š” ๊ฒฐ๊ณผ๋ฌผ์ด ๋‚˜์™€์•ผํ•œ๋‹ค.

๊ทธ๋ ‡๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์–‘ํ•œ ๋กœ์ง์œผ๋กœ ์กฐ๊ฑด๋ฌธ์„ ๋งŒ๋“ค์–ด์„œ ์ž‘์—…ํ•ด๋ดค์œผ๋‚˜, ์‹œ๊ฐ„ ์ง€์—ฐ์œผ๋กœ ์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.
๊ฒ€์ƒ‰ํ•  ๋•Œ ํŠนํžˆ ๊ฐ€์žฅ ์–ด๋ ค์› ๋˜ ๊ฒƒ์ด ๋ฌด์—‡ ์ด๋ƒ๋ฉด ํ•œ๊ธ€ ๊ฒ€์ƒ‰ํ•  ๋•Œ๋Š” ์ดˆ์„ฑ, ์ข…์„ฑ, ์ค‘์„ฑ ๊ทธ๋ฆฌ๊ณ  ์ž์Œ๊ณผ ๋ชจ์Œ์ด ์žˆ๊ณ  '์ป'์„ ์ž…๋ ฅํ•ด๋„ ์ด๋”๋ฆฌ์›€์ด๋ผ๋Š” ๊ฒฐ๊ณผ๋ฌผ์ด ๋‚˜์˜ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‘๋ฒŒ์‹๋„ ๊ณ ๋ คํ•ด์„œ ํ•ด์•ผํ•œ๋‹ค. ๊ทผ๋ฐ ๊ทธ๊ฒƒ์„ ์ „๋ถ€ ์ฒ˜๋ฆฌํ•ด์ฃผ๋Š” ํ•œ๊ธ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์—ˆ๋‹ค. โ†’ hangul.js ์ฐธ๊ณ ํ•˜๊ธฐ

hangul.js์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” ๋ฉ”์„œ๋“œ ๊ธฐ๋Šฅ๋„ ๋‹ค์–‘ํ•˜๋‹ค !

(3) ์ž…๋ ฅ๋œ ํ‚ค์›Œ๋“œ๋งŒ ์ƒ‰๊น”์ž…ํžˆ๊ธฐ (ํ•˜์ด๋ผ์ดํ„ฐ)

ํ˜„์žฌ ๋‚ด๊ฐ€ ์ž…๋ ฅํ•œ ํ‚ค์›Œ๋“œ์— ๋Œ€ํ•ด์„œ ํ•˜์ด๋ผ์ดํ„ฐ ํšจ๊ณผ๋ฅผ ์ฃผ๊ธฐ ์œ„ํ•ด์„œ๋„ indexOf, split, splice, join ๋“ฑ๋“ฑ ์—ฌ๋Ÿฌ ๋ฉ”์„œ๋“œ๋“ค์„ ์ž˜ ํ™œ์šฉํ•ด์•ผ๋˜๋Š”๋ฐ
ํ•˜๋‹ค๊ฐ€ ๊ตฌ์กฐ์š”์ฒญํ–ˆ๋‹ค. ์•”ํŠผ ๋ฐฐ์—ด ์ชผ๊ฐœ๊ณ  ๋ถ™ํžˆ๊ณ  ํ•˜๋Š” ๋Šฅ๋ ฅ๋„ ๋ถ€์กฑํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ๋”ฐ๋กœ ์—ฐ์Šตํ•ด๋ณด์ž !