Bleeding edge

TypeError: xxxxxxxxxxx is not iterable 본문

Javascript

TypeError: xxxxxxxxxxx is not iterable

codevil 2022. 5. 20. 15:53

dp나 bfs, dfs를 풀다보면 자주 보던 에러였다. cs를 공부하기전까지는, 이게 뭔 읽을수없데! (리터럴로 항상 잘못읽었다) 라고 생각했었는데, 지금와서 보니(최근에 코테를 보며 해결하면서 익히게 됬다). iterable에러를 내가 보통 낸경우는

for of를 사용할때 많이 발생했다. 이 에러는 왜 나타나는 걸까?

최근에 에러가 발생한 이유는, dp문제를 풀이를 할때 

for(let x of list)

에서 list가 array가 아닌 undefined인 경우였다.

dp나 bfs, dfs에서 에러를 자주 보던 이유는, 이 두 케이스에서 list를 j in i 즉, 2차원으로 사용할 때, 범위를 잘못 설정해서 list에 대한 범위를 넣는 경우에 이 에러가 나타난 것이다. 이문제를 해결하는 방법은 두가지가 있다.

1. 범위를 날카롭게(정확하게) 바꿀 것.

2, 단축문(||false)과 조건문을 사용하여 범위를 벗어난 것을 배제하는 방법이다.

이 에러가 뜨면 항상 코드를 다시 작성했었는데, 이제 왜 작성하는지 알게되었다. 항상, 에러가 나타나면 안쪽부터 주석처리를 하면서 콘솔을 찍어보며 어느 부분이 문제가 생기는지 만드는 연습을 해야겠다

 

메모 : TDD 신경쓸 것

'Javascript' 카테고리의 다른 글

Map의 저장방법 두가지  (0) 2022.06.27
map.get(key) 대신, map.get(value) 만들기  (0) 2022.06.10
Git Convention - 정리  (0) 2022.05.08
다중조건 sort  (0) 2022.05.03
2차원 Array 만들기.  (0) 2022.05.02