ํฐ์คํ ๋ฆฌ ๋ทฐ
Exercise: Fix This Code
//fill array with 60000 elements
const list = new Array(60000).join('1.1').split('.');
function removeItemsFromList() {
var item = list.pop();
if (item) {
removeItemsFromList();
}
};
removeItemsFromList();
์์ recursive function ์ stack overflow ๋ฅผ ๋ฐ์์ํจ๋ค.
recursive call around ๋ ์ ์งํ๋ฉด์ stack overflow ๋ฅผ ํผํ๋ ค๋ฉด ์ด๋ป๊ฒ ๊ณ ์ณ์ผํ ๊น?
Solution Code
const list = new Array(60000).join('1.1').split('.');
function removeItemsFromList() {
var item = list.pop();
if (item) {
setTimeout(removeItemsFromList, 0);
}
};
removeItemsFromList();
๐ฝ ๋ฌธ์ ์ฝ๋ ์คํ ์, ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ์์ ์คํ์ค๋ฒํ๋ก ๋ฐ์
๐ฝ ์๋ฃจ์ ์ฝ๋ ์คํ ์, ์ ์์ ์ผ๋ก ๋ชจ๋ ์์ ๋ง์นจ
setTimeout
์ ์ํด ๊ณผ์ ์ด ๋๋ ๋ค ์ฝ๋ฐฑํจ์ ์คํํ๊ธฐ๋๋ฌธ!!!
์๋ฃจ์
_์ฝ๋_์คํ๋๋_๊ณผ์ .gif
๐ฒ๐ฒ๐ฒ
(ํด๋น ์ด๋ฏธ์ง๋ http://latentflip.com/loupe ์ด์ฉํด์ ๋ง๋ค์๊ณ ,
์ดํด๋ฅผ ์ํด setTimeout ์ delay ๋ฅผ ์ถ๊ฐํ์ต๋๋ค!)
๋ฌธ์ ์ถ์ฒ : Udemy - JavaScript: The Advanced Concept
https://www.udemy.com/course/advanced-javascript-concepts
'๊ณต๋ถ > JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS/์๊ณ ๋ฆฌ์ฆ] Merge Two Sorted Lists (0) | 2020.09.07 |
---|---|
[JS] Promise.all()์ ๋ณ๋ ฌ์ผ๊น ์ง๋ ฌ์ผ๊น๐ค (1) | 2020.08.22 |
[JS] #๋ชจ์๊ณ ์ฌ - ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ์ฐ์ต (0) | 2020.07.12 |
[JS] N๊ฐ์ length ๋ฅผ ๊ฐ์ง array์ ๊ฐ ์ฑ์ฐ๊ธฐ (0) | 2020.07.12 |
[JS] ์ ๋ ํฐ๋ฅผ ์ฌ์ฉํ์ฌ DOM์์๋ฅผ ์ ํํ ์ ์๋ ๋ฐฉ๋ฒ๋ค (0) | 2020.07.11 |
๋๊ธ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ
TAG
- VSC
- review
- ์ฝ๋ฉ๋ถํธ์บ ํ
- GIT
- book
- string
- KEYBOARD
- css
- ๋ถํธ์บ ํ
- js
- ์์ฑ์ํจ์
- stackoverflow
- ๋ฐ๋๋ผ์ฝ๋ฉ ํ๊ธฐ
- eventlistener
- ๋ฐ๋๋ผ์ฝ๋ฉ
- HTML
- array
- Stash
- eslint
- DOM
- Total
- Today
- Yesterday