* # Loof 반복문
어떠한 기능을 반복할 때 사용
## 종류
* for loop
* while loop
* for...of loop // 배열 데이터를 다룰 때
* for...in loop //오브젝트 데이터를 다룰 때
*
*/
무한루프에 빠지게 되면 javascript의 메모리를 전부 다 사용한다.
루프를 사용할 때에는 루프가 어떻게 멈추는지와 루프가 정확하게 쓰였는지에 대해 항상 유의해야한다.
특정 조건을 충족하면 멈춤 break;
특정 조건을 충족하면 그 조건에 맞는 코드를 실행하지 않고 다음 코드로 진행됨 continue
//break
for(let i=0; i<20; i++){
console.log(i)
if(i===10){
console.log(i)
console.log('i가 드디어 10이 됐어요.');
//break 때문에 console.log(i)가 11부터는 찍히지 않음
break;
}
}
//continue
for(let i=0; i<8; i++){
console.log(i)
if(i===3){
continue;
//continue 밑에 있는 코드는 무시되고 반복을 계속 함
console.log('i가 드디어 3이 됐어요.');
}
}
기본적인 반복문
for(시작점; 조건; 계산){
}
for (let i = 0; i <= 10; i++) {
//1부터 10까지 출력;
console.log(i);
}
let number =[1,2,3,4,5]
//일반 for문으로 접근
for(let i=0; i<number.length; i++){
console.log(number[i])
}
//거꾸로 가고 싶다면
for(let i=number.length-1; i>=0; i--){
console.log(number[i]);
}
## for loop
for(시작점; 조건; 계산){
}
for (let i = 0; i <= 10; i++) {
//1부터 10까지 출력;
console.log(i);
}
for 루프 안에 또다른 루프가 있다
보통은 중첩된 배열을 통과하거나 반복해야 할 때 사용된다.
밖에 for문이 1번 실행되는 동안에 안쪽 for문이 4번 실행된다.
for(let i=1; i<=10; i++){
console.log(`i는 ${i}`);
for(let j=1; j<=4; j++){
console.log(` j는 ${j}`)
}
}
i는 1
j는 1
j는 2
j는 3
j는 4
-------------------------------------------
//중첩된 배열에서 사용하는 이중for문
const seatingChart =[
['lee', 'kem', 'ho'],
['hq', 'asdf', 'qwqwi'],
['1342', 'iif1','zlzlso']
];
바깥에 for문에서 겉에 있는 배열을 돌고
for(let i=0; i<seatingChart.length; i++){
안쪽 for문에서 안쪽의 배열의 값들을 가져와서 for문 돌림
for(let j=0; j<seatingChart[i].length; j++){
console.log(seatingChart[i][j]);
}
}
정답을 맞추거나 게임에서 이겼을 때와 같이
그 조건이 참이 되기 전까지 몇 번을 실행할 지 모를 때 사용한다
while(조건문 // 조건문이 참이면 계속해서 반복문 실행 ){
}
while(count<10){
console.log(count)//count<10이라는 조건에 맞아 들어온 count 0~9
count++; //카운트에 1씩 더함
console.log(count);//앞에 들어온 count에 1이 더해진 count 1~10
}
break 조건이 참인 경우 의도적으로 조건문을 끝냄
배열의 반복문을 사용할 때 사용
문자열을 반복시킬 때도 사용 가능
for(let 사용할 변수명 of 배열명){
배열 안에 있는 값을 차례대로 변수명에 담아온다
변수명 = 배열명[0]
변수명 = 배열명[1]
변수명 = 배열명[2]
}
let number =[1,2,3,4,5,6];
let resultArray =[]
for(let item of number){
console.log(item);
resultArray.push(item*2);
}
console.log(resultArray)
//for of로 이중for문 사용방법
const seatingChart =[
['lee', 'kem', 'ho'],
['hq', 'asdf', 'qwqwi'],
['1342', 'iif1','zlzlso']
];
//중첩된 배열에서 사용하는 이중for문
for(let i=0; i<seatingChart.length; i++){
for(let j=0; j<seatingChart[i].length; j++){
console.log(seatingChart[i][j]);
}
}
//for..of로 이중 for문
for(let row of seatingChart){
for(let name of row){
console.log(name);
}
}
//for..of로 문자열 다루는 법
let string ='abcdefg';
for(let item of string){
console.log(item);
}
object에서는 for of 사용 불가능
그래서 object에서는 for in 사용
let obj ={
name:'lee',
age:19,
height:180,
}
for(let objKeys in obj){
console.log(objKeys) //키를 가져옴
console.log(obj[objKeys]) //값을 가져옴
}