본문으로 바로가기
728x90
반응형
728x170

얼마전에 저를 힘들게? 했었던 코드가 하나 있었습니다.

 for (let i in this.array) {
       if (this.array[i].choice) 
           this.index = i;
}

이런 형태의 코드 였습니다.

 

저 부분에서 int형의 값을 가져와야 하는데 자꾸 "1", "2,"와 같은 문자형으로 가져왔고,

해당 부분은 제가 작성한 코드의 부분이 아니였기 때문에 어디 부분이 문제였었는지 파악하는데 더 애를 먹었었습니다.

 

그러다 알게 된 건 for-in 을 쓰게 되면 i가 오브젝트도 통과가 된다는 사실을 알게 되었습니다.

그래서 저 문법이 조금 위험할 수 있다는 걸 알게 되어 

 

 for (let i = 0; i < this.array.length; i++) {
       if (this.array[i].choice) 
           this.index = i;
}

위와 같이 변경시켜주니 정상적으로 int값을 받아오더군요.

 

728x90
반응형
그리드형

댓글을 달아 주세요