JavaScript 2์ฃผ์ฐจ
For๋ฌธ๐
(for), (for in), (for of), (forEach) ๋ฅผ ๋ฐฐ์๋ณด์
๋ฐ๋ณต๋ฌธ์ ํ์์ด์ ์ ์ฌ์ฉ๋ฐฉ๋ฒ
- ์ฝ๋๊ฐ ๊ธธ์ด์ง์ ๋ฐฉ์ง
- ์ค๋ณต๋ ์ฝ๋์ ์ค๋ฅ
- ์ค๋ณต์ ์ค๋ณต์ ๊ฐ์
function getAllLetters(str) {
let strArray = [];
for(let i=0; i<str.length;i++) {
strArray[i] = str.substr(i,1)
}
return strArray;
}
console.log(getAllLetters(flower));
//['f','l','o','w','e','r']
for๋ฌธ ๊ธฐ์ด - ๋ฌธ์๋ฅผ ์ชผ๊ฐ์ด ๊ฐ ์ธ๋ฑ์ค์ ๋ฃ์ด๋ณด๊ธฐ
const helloBot = people => {
let greetings = ['์๋
ํ์ธ์','๋ ๋ง๋๋ค์'];
let result = [];
for(let i = 0; i<people.length; i++) {
if(people[i]===0) {
result.push(greetings[0])
} else result.push(greetings[1])
}
return result
}
0,1๋ก ์ด๋ฃจ์ด์ง ๋ฐฐ์ด์ helloBotํจ์์ ์ธ์๋ก ๋ฃ์ด์ฃผ๋ฉด ๊ทธ์ ๋ง๋ ์ธ์ฌ๋ง์ด ๋์ด
For in๋ฌธ
for (๋ณ์ in ๊ฐ์ฒด์) {
// ๋ฌธ์ฅ
}
for in ๋ฌธ์ ๊ธฐ๋ณธ ๋ฌธ๋ฒ
const Object= {
name: 'LJH',
age: 28,
}
for( let key in object) {
console.log(key + ' : ' + object[key]);
}
// name : LJH
// age : 28
๊ฐ์ฒด์ ํ๋กํผํฐ๋ช ๊ณผ ํ๋กํผํฐ๊ฐ์ ์ด๊ฑฐํจ
์ฃผ์์ฌํญ
- for in ๋ฌธ๋ฒ์ ์์๋ฅผ ๋ณด์ฅํ์ง์์. ์์ ์ฝ๋๋ ๊ฒฐ๊ณผ๊ฐ ์์์ ๋ง๊ฒ ๋์์ผ๋ ๊ทธ๋ฌ์ง ์์๋๋ ์์, ๊ทธ๋ฌ๋ฏ๋ก ๋ฐฐ์ด๊ณผ ๊ฐ์ ์์๋ฅผ ์์ํ ๋ฐ์ดํฐ ํ์ ์ for in๋ฌธ ์ฌ์ฉ์ ์ง์ํจ
- ๋์ดํ ์ ์๋ ๊ฒ๋ ์์( ์ถํ ์ดํด๋ณผ์์ )
- ํ๋กํ ํ์ ์์ ์์ํ ํ๋กํผํฐ๋ ๋์ด๋จ
For of๋ฌธ
for โฆ of ๋ฌธ์ ๋ฐ๋ณต๊ฐ๋ฅํ ๊ฐ์ฒด(Array, Map, Set, String, TypeArray, arguments ๊ฐ์ฒด๋ฑ)๋ฅผ ๋ฐ๋ณตํ๋ ๋ฌธ๋ฒ
for (๋ณ์ of ๊ฐ์ฒด์) { // ๋ฌธ์ฅ }
for of ๋ฌธ์ ๊ธฐ๋ณธ ๋ฌธ๋ฒ
const Object = [1, 2, 3, 4, [5, 6, 7]];
for (let key of Object) {
console.log(key);
}
// 1, 2, 3, 4, [5, 6, 7]
๋ฐฐ์ด์ ์์๋ค๋ง ์ด๊ฑฐํจ
let arr = new Set([1, 1, 2, 2, 3, 3]);
for (let key of arr) {
console.log(key);
}
// 1,2,3
set๊ณผ for of๋ฌธ์ ํ์ฉํ์ฌ ์ค๋ณต๊ฐ ์ ๊ฑฐ ํ ์ด๊ฑฐ
forEach๋ฌธ
arr.forEach(callback(item, index, array))
๊ธฐ๋ณธ๋ฌธ๋ฒ
const arr = [1,2,3,4,5];
arr.forEach( (ele,index) => {
console.log(ele, index);
})
//1 0
//2 1
//3 2
//4 3
//5 4
๊ธฐ๋ณธ ์ฌ์ฉ์์
const arr = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
];
arr.forEach((ele) => {
ele.forEach((ele) => console.log(ele));
});
// 1 2 3 4 5 6 7 8 9
2์ฐจ์๋ฐฐ์ด ์ฌ์ฉ์์