비

반복문에서의 for in

예를 들어서...포문을 쓸 경우 보통 아래와 같은 식으로 작성합니다.
 
<script>
winner=["우루과이","이탈리아","독일","브라질","잉글랜드","아르헨티나","프랑스","스페인"];
for(i=0;i<winner.length;i++) winner[i]=winner[i]+' - '+(i+1)+'번째 월드컵 우승국';
document.write(winner.join('<BR>'));
</script>
----------
우루과이 - 1번째 월드컵 우승국
이탈리아 - 2번째 월드컵 우승국
독일 - 3번째 월드컵 우승국
브라질 - 4번째 월드컵 우승국
잉글랜드 - 5번째 월드컵 우승국
아르헨티나 - 6번째 월드컵 우승국
프랑스 - 7번째 월드컵 우승국
스페인 - 8번째 월드컵 우승국
 
그런데 for in 을 쓰면 일이 조금 더 쉬워집니다.
 
<script>
winner=["우루과이","이탈리아","독일","브라질","잉글랜드","아르헨티나","프랑스","스페인"];
for(i in winner) winner[i]=winner[i]+' - '+(Number(i)+1)+'번째 월드컵 우승국';
document.write(winner.join('<BR>'));
</script>
 
단 여기에는 주의 사항이 있습니다.
 
i 의 범위를 정해주면 i 를 "숫자"로 인식하지만 for in 으로 i 를 주면 "문자"로 인식한다는 점입니다.
 
<script>
winner=["우루과이","이탈리아","독일","브라질","잉글랜드","아르헨티나","프랑스","스페인"];
for(i=0;i<winner.length;i++); alert('i = ' +typeof i);
for(i in winner); alert('i = ' +typeof i);
</script>
 
그래서 포인으로 주고 계산을 할 경우는 Number() 나 parseInt() 로 한번 감아주는 것이 요령입니다.
|

댓글 1개

댓글을 작성하시려면 로그인이 필요합니다.

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요. 나누면 즐거움이 커집니다.

+
제목 글쓴이 날짜 조회
11-08-22 조회 5,653
11-08-22 조회 4,617
11-08-22 조회 6,429
11-08-20 조회 8,776
11-08-19 조회 9,647
11-08-18 조회 4,385
11-08-18 조회 5,745
11-08-16 조회 9,463
11-08-11 조회 8,340
11-08-10 조회 6,550
11-08-10 조회 6,647
11-08-09 조회 3,553
11-08-09 조회 7,034
11-08-08 조회 3,698
11-08-08 조회 5,157
11-08-08 조회 7,062
11-08-08 조회 7,283
11-08-05 조회 4,028
11-08-01 조회 6,246
11-07-28 조회 4,859