๐ ๊ฒ์ ๊ตฌํ ํ๋ฉด์ ๋๋์
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) ๊ฒ์ ํํฐ๋ง
- ๊ฒ์๋ช
(ํ๊ธ, ์์ด)
2.๊ฒ์ํ ํค์๋์ ์ฌ๋ณผ๋ช - ํ๊ธ ์ด์ฑ
- ์์ด๋ก '๊ฒ์๋ช ' ์ ๋ ฅํ ๋, ์ด 4๊ฐ์ง ์กฐ๊ฑด์ด ์ฑ๋ฆฝ๋ผ์ ๊ฒ์์ ์ฐพ๊ณ ์ํ๋ ๊ฒฐ๊ณผ๋ฌผ์ด ๋์์ผํ๋ค.
๊ทธ๋ ๊ฒ ํ๊ธฐ ์ํด์ ๋ค์ํ ๋ก์ง์ผ๋ก ์กฐ๊ฑด๋ฌธ์ ๋ง๋ค์ด์ ์์
ํด๋ดค์ผ๋, ์๊ฐ ์ง์ฐ์ผ๋ก ์ด๋ฏธ ๋ง๋ค์ด์ง ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๋ค.
๊ฒ์ํ ๋ ํนํ ๊ฐ์ฅ ์ด๋ ค์ ๋ ๊ฒ์ด ๋ฌด์ ์ด๋๋ฉด ํ๊ธ ๊ฒ์ํ ๋๋ ์ด์ฑ, ์ข
์ฑ, ์ค์ฑ ๊ทธ๋ฆฌ๊ณ ์์๊ณผ ๋ชจ์์ด ์๊ณ '์ป'์ ์
๋ ฅํด๋ ์ด๋๋ฆฌ์์ด๋ผ๋ ๊ฒฐ๊ณผ๋ฌผ์ด ๋์ค๊ธฐ ์ํด์๋ ๋๋ฒ์๋ ๊ณ ๋ คํด์ ํด์ผํ๋ค. ๊ทผ๋ฐ ๊ทธ๊ฒ์ ์ ๋ถ ์ฒ๋ฆฌํด์ฃผ๋ ํ๊ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์๋ค. โ hangul.js
์ฐธ๊ณ ํ๊ธฐ
hangul.js์์ ์ ๊ณตํด์ฃผ๋ ๋ฉ์๋ ๊ธฐ๋ฅ๋ ๋ค์ํ๋ค !
(3) ์ ๋ ฅ๋ ํค์๋๋ง ์๊น์ ํ๊ธฐ (ํ์ด๋ผ์ดํฐ)
ํ์ฌ ๋ด๊ฐ ์
๋ ฅํ ํค์๋์ ๋ํด์ ํ์ด๋ผ์ดํฐ ํจ๊ณผ๋ฅผ ์ฃผ๊ธฐ ์ํด์๋ indexOf, split, splice, join
๋ฑ๋ฑ ์ฌ๋ฌ ๋ฉ์๋๋ค์ ์ ํ์ฉํด์ผ๋๋๋ฐ
ํ๋ค๊ฐ ๊ตฌ์กฐ์์ฒญํ๋ค. ์ํผ ๋ฐฐ์ด ์ชผ๊ฐ๊ณ ๋ถํ๊ณ ํ๋ ๋ฅ๋ ฅ๋ ๋ถ์กฑํ ๊ฒ ๊ฐ๋ค. ๋ฐ๋ก ์ฐ์ตํด๋ณด์ !