๐ฃ for... of ์ for ... in ์ ๋ํด์
์ค๋์ for ... of ์ for ... in ์ ๋ํด์ ์ด์ ์ Notion ์ ๋ฆฌ ํด๋๋ ๋ด์ฉ๋ค์ ๋ค๋ฌ์ด์ ์์ฑํด๋ณด๋ คํ๋ค. ์ฒ์ for ... of ์ for ... in์ ์ ํ ๊ฒ์ javascript ์ฝ๋ฉํ
์คํธ ๊ฑธ์๋ง๋ฅผ ๋ผ๊ธฐ ์์ํ๋ฉด์๋ถํฐ์ธ๋ฐ... ํฌํ ! ์๋ฌดํผ ์ ๋ฆฌํด๋ณด๊ฒ ๋ค!
์ฐธ๊ณ ๋ก ์๋๋ for of์ for in์ ์ด์ฉํด์ ํ์๋ ๋ฐฑ์ค ๋ฌธ์ ํ์ด ์ ๋ฆฌ๊ธ!
[๋ฐฑ์ค] ๋ณตํธํ 9046
๐ค ๋ฌธ์ https://www.acmicpc.net/problem/9046 1. ๋ฌธ์ ๋ด์ฉ ์ํธํ์์ ์นํ ์ํธ(substitution cipher)๋, ํ๋ฌธ์ ๋ค์ด์๋ ๊ฐ๊ฐ์ ๋ฌธ์๋ฅผ ์ฃผ์ด์ง ์นํ ๋ฐฉ๋ฒ์ผ๋ก ์ํธํํ๋ ๋ฐฉ๋ฒ ์ค ํ๋๋ค.๊ฐ์ฅ ๋จ์ํ
haileyham.tistory.com
๐ฃfor... of
1. ๊ฐ๋
๋ฐฐ์ด, ๋ฌธ์์ด, ๋งต, ์ธํธ ๋ฑ๊ณผ ๊ฐ์ ๋ฐ๋ณต ๊ฐ๋ฅํ ๊ฐ์ฒด๋ฅผ ๋ฐ๋ณตํ๋ ๋ฐ ์ฌ์ฉ
- ๋ฐ๋ณต ๊ฐ๋ฅํ ํญ๋ชฉ(์: ๋ฐฐ์ด, ๋ฌธ์์ด)๊ณผ ํจ๊ป ์๋
- ๋ฐ๋ณต ๊ฐ๋ฅํ ๊ฐ(value)์ ๋ฐ๋ณต
- ํ๋กํ ํ์
์ฒด์ธ์ ํตํด ์์๋ ์์ฑ์ ํฌํจํ์ฌ ์ด๊ฑฐ ๊ฐ๋ฅํ ๋ชจ๋ ์์ฑ์ ๋ฐ๋ณต
- ์ฝ๊ฒ ์๊ฐํ๋ฉด ๋ฐฐ์ด ๊ฐ ์ํ
2. ์ฝ๋
const array = [1, 2, 3];
for (const value of array) {
console.log(value); // 1, 2, 3
}
๐ฃfor... in
1. ๊ฐ๋
๊ฐ์ฒด์ ์ด๊ฑฐ ๊ฐ๋ฅํ ์์ฑ(์์๋ ์์ฑ ํฌํจ)์ ๋ฐ๋ณตํ๋ ๋ฐ ์ฌ์ฉ
- ๊ฐ์ฒด ๋ฐ ๊ทธ ์ด๊ฑฐ ๊ฐ๋ฅํ ์์ฑ๊ณผ ํจ๊ป ์๋
- ๊ฐ์ฒด์ ํค(์์ฑ ์ด๋ฆ)๋ฅผ ๋ฐ๋ณต
- ๊ฐ์ฒด ์์ฑ์ ๋ฐ๋ณตํ์ง ์์
- ๊ฐ์ฒด ์ํ
2. ์ฝ๋
const object = { a: 1, b: 2, c: 3 };
for (const key in object) {
console.log(key); // 'a', 'b', 'c'
console.log(object[key]); // 1, 2, 3
}
๐ฃ ๋น๊ตํ๊ธฐ
1. Iterable๊ณผ ๊ฐ์ฒด ๋น๊ต
for...of
๋ฐ๋ณต ๊ฐ๋ฅํ ํญ๋ชฉ(์: ๋ฐฐ์ด, ๋ฌธ์์ด)๊ณผ ํจ๊ป ์๋
for...in
๊ฐ์ฒด ๋ฐ ๊ทธ ์ด๊ฑฐ ๊ฐ๋ฅํ ์์ฑ๊ณผ ํจ๊ป ์๋
2. Values vs Keys
for...of
๋ฐ๋ณต ๊ฐ๋ฅํ ๊ฐ์ ๋ฐ๋ณต
for...in
๊ฐ์ฒด์ ํค(์์ฑ ์ด๋ฆ)๋ฅผ ๋ฐ๋ณต
3. ์์ ์์ฑ
for...in
ํ๋กํ ํ์
์ฒด์ธ์ ํตํด ์์๋ ์์ฑ์ ํฌํจํ์ฌ ์ด๊ฑฐ ๊ฐ๋ฅํ ๋ชจ๋ ์์ฑ์ ๋ฐ๋ณต
for...of
๊ฐ์ฒด ์์ฑ์ ๋ฐ๋ณตํ์ง ์์
์ ๋ฆฌํ๊ฒ๋ค์๊น๋จน์ง๋ง์!