[JavaScript] forEach is not a function error

2021. 3. 26. 16:05문제들

[JavaScript] forEach is not a function error

문제

  • javascript 상에서 forEach 구문을 돌렸지만 해당 에러 메시지가 뜨며 실행이 되지 않는다.

원인

혹시 Collection.prototype.forEach() 막 이런 거 검색하면 나올까?

image1

그런거 없다

arguments를 살펴보면

참고: "Array 형태"란 arguments가 length 속성과 더불어 0부터 인덱스 된 다른 속성을 가지고 있지만, Array의 forEach, map과 같은 내장 메서드를 가지고 있지 않다는 뜻입니다.

그러하다.

mozilla에서는 이 짭 배열 객체를 [ Array 형태 ] 란 이름으로 부르고 있었다.

forEach, map 좀 달아주면 어디 덧나나.

해결

Array.from( Array-형태-객체 ).forEach(
    function(element, index, array){ 
        // 적용하고 싶은 코드
        element.onclick = tagClickEvent; 
    }
);

위에서 계속 설명된 것과는 달리 무척 간단하다.

그니까 array 형태 객체를 array로 만들어서 돌리면 될 일이다.

happy 하다.

참조