๐ฒ ๋ชฉํ: ํ์ด์ฌ์ for๋ฌธ๊ณผ ํท๊ฐ๋ฆฌ๋๐ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ค์ํ for๋ฌธ(+๋ฉ์๋) ์ดํดํ๊ธฐ
๋ฉฐ์น ๊ณ ๋ฏผํ๋ค ์ด์ ๊ฐ์์ค๋ ํ๋ก ํธ๋ก ๋ถ์ผ๋ฅผ ๋ฐ๊ฟจ๋ค! ๋ง๋๋ ๋๋ก ๋์ ๋ณด์ด๋ ๊ฒ ๋๋ฌด ์ฌ๋ฐ์ด...... ๊ทผ๋ฐ ์๊พธ ๋ฌธ์ ํ๋ฉด์ ํ์ด์ฌ ๋ฌธ๋ฒ์ด ํ์ด๋์ด๐ ์๋ฐ์คํฌ๋ฆฝํธ ๋ ์ด์ฌํ ๋ฐ๋ผ๊ฐ์ผ์ง ๐ช๐ช
โถ ๋ชฉ์ฐจ
๐ for
๐ for-of
๐ for-in
๐ forEach
๐ map
ํ์ด์ฌ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ๋ฐ๋ณต์ํ์ด ํ์ํ ๋ for๋ฌธ์ ์ด๋ค. ๊ธฐ๋ณธ์ ์ธ for๋ฌธ์ ํํ๋ ๋ค์๊ณผ ๊ฐ๋ค.
for (let i; i < 10; i++) { ์คํํ ํจ์ }๊ดํธ ์์ ๋ด์ฉ์ (๋ณ์; ๋ฐ๋ณต์ ๋๋ผ ๋ณ์์ ์กฐ๊ฑด; for๋ฌธ์ด ํ ๋ฒ ๋๋ ๋๋ง๋ค ๋ณ์์ ๋ณํ)๋ก ๋ณด๋ฉด ๋จ!
for๋ฌธ์ ์ด์ฉํด์ ๋ฐฐ์ด(Array)์ ์์๋ฅผ ๋ฐ๋ณต ํธ์ถํ ์๋ ์๋ค.
const fruits = ["lemon", "melon", "blueberry", "peach"]; for (let i; i < fruits.length; i++) { console.log(fruits[i]); }
for-of๋ ES6์์ ์ถ๊ฐ๋ ๋ฌธ๋ฒ์ผ๋ก์, ์ผ๋ฐ for๋ฌธ๋ณด๋ค ํธ๋ฆฌํ๊ฒ Array, String, Map, Set ๋ฑ์ ๋ฐ๋ณตํ ์ ์๊ฒ ํด ์ค๋ค.
const fruits = ["lemon", "melon", "blueberry", "peach"]; for (let i of fruits) { console.log(i); } /*์คํ๊ฒฐ๊ณผ: lemon melon blueberry peach*/
- ๋ฐฐ์ด์ ๊ธธ์ด๋งํผ ๋ฐ๋ณตํ๋ ์กฐ๊ฑด์ ์ง์ ์ค์ ํ์ง ์์๋ ๋๊ณ , i๊ฐ ์ธ๋ฑ์ค๊ฐ ์๋๋ผ i๋ฒ์งธ ์์ ๊ทธ ์์ฒด๋ก ํ ๋น๋๊ธฐ ๋๋ฌธ์ ํธ๋ฆฌํจ
- continue์ break๋ก ๋ฐ๋ณต์ ์คํตํ๊ฑฐ๋ ์ค๋จํ ์ ์์!
- Object์๋ ์ฌ์ฉ ๋ถ๊ฐ๋ฅ (์์๊ฐ ์๋ iterableํ ์๋ฃํ์ด ์๋๊ธฐ ๋๋ฌธ)
๋ง์ฐฌ๊ฐ์ง๋ก ES6์์ ์ถ๊ฐ๋ ๋ฌธ๋ฒ. for-of์ ๋ฌ๋ฆฌ Object์๋ ์ฌ์ฉ ๊ฐ๋ฅํจ!
const colorfulfruits = { yellow: "lemon", green: "melon", purple: "blueberry", pink: "peach" }; for (let i in colorfulfruits) { console.log(i, colorfulfruits[i]); } /*์คํ๊ฒฐ๊ณผ: yellow lemon green melon purple blueberry pink peach*/
์์์ ์ ์ ์๋ฏ์ด i๋ object์ key๊ฐ์ด ๋๊ณ , object[i]๋ก value๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
๊ทธ๋ฐ๋ฐ Array์ for-in์ ์ฌ์ฉํ ๊ฒฝ์ฐ
const fruits = ["lemon", "melon", "blueberry", "peach"]; for (let i of fruits) { console.log(i); } /*์คํ๊ฒฐ๊ณผ: 0 1 2 3*/
i๋ ๊ฐ ์์๊ฐ ์๋ ์ธ๋ฑ์ค๊ฐ ๋๊ธฐ ๋๋ฌธ์ ํท๊ฐ๋ฆฌ์ง ์๋๋ก ์ฃผ์ํ์!
forEach๋ Array์ ๋ฉ์๋๋ก์ ๊ฐ ์์๋ฅผ ์ธ์๋ก ์ฝ๋ฐฑํจ์๋ฅผ ์คํํ๋ค.
const fruits = ["lemon", "melon", "blueberry", "peach"]; fruits.forEach(i => console.log(`I like ${}`)); /*์คํ๊ฒฐ๊ณผ: I like lemon I like melon I like blueberry I like peach*/
๋ง์ฝ ์ฝ๋ฐฑํจ์์ ์ธ์๋ฅผ ์ธ ๊ฐ ์ค์ ํ ๊ฒฝ์ฐ ๊ฐ๊ฐ ์์, ์ธ๋ฑ์ค, ์ ์ฒด ๋ฐฐ์ด์ด ๋๋ค.
const fruits = ["lemon", "melon", "blueberry", "peach"]; fruits.forEach((a, b, c) => console.log(a, b, c)); /*์คํ๊ฒฐ๊ณผ: lemon 0 4 melon 1 4 blueberry 2 4 peach 3 4*/
map ๋ํ Array์ ๋ฉ์๋๋ก, forEach์ ๋น์ทํ์ง๋ง ๊ฐ ์์์ ์ฝ๋ฐฑํจ์ ์คํ ๊ฒฐ๊ด๊ฐ๋ค๋ก ์ Array๋ฅผ ๋ฆฌํดํ๋ค. ํ์ด์ฌ์ map๊ณผ ๊ฑฐ์ ๋น์ทํ ๊ฒ ๊ฐ๋ค. forEach๋ for๋ฌธ์ฒ๋ผ ํจ์์ ๋ฐ๋ณต์คํ๋ง ํ ๋ฟ, ๋ฆฌํด๊ฐ์ด ์์!
const fruits = ["lemon", "melon", "blueberry", "peach"]; const re = fruits.map(i => `fresh ${i}`); console.log(re); /*์คํ๊ฒฐ๊ณผ: ["fresh lemon", "fresh melon", "fresh blueberry", "fresh peach"]*/
array.map((x, y, z) => {} ) ์ด๋ฐ ์์ผ๋ก ์ฝ๋ฐฑํจ์๊ฐ ์ธ์ ์ธ ๊ฐ๋ฅผ ๋ฐ์ ๊ฒฝ์ฐ ๊ฐ๊ฐ ์์, ์ธ๋ฑ์ค, ๋ฐฐ์ด์ด ํ ๋น๋จ!
[Javascript] forEach, some, for in, for of (์๋ฐ์คํฌ๋ฆฝํธ, ๋ฐ๋ณต, ๋ฐฐ์ด ๋ฐ๋ณต, ํ๋กํ ํ์
, prototype, ๊ฐ์ฒด ๋ฐ๋ณต)
Array.prototype.forEach() - JavaScript | MDN