2013-03-06 3 views
0

저는 Instagram을 쿼리하기 위해 만든 바닐라 자바 ​​스크립트 피드 파서를 변환하여 현재 CoffeeScript에서 손을 잡고 있습니다. 나는 루프를 사용하여 for 루프 안에서 작동하는 로직을 얻으려고 벽에 머리를 댄다. 웹에있는 예제의 100 개 당 하나의 루프가 작동하도록 간단한 루프를 얻을 수 있지만 아직은 for 루프 안에 더 많은 코드가있다. 내가 완전히 틀린이 접근인가? 함수에 전달한 인수 "results"는 JSON 객체입니다.for 커피 스크립트 용 루프

_feed: (results) -> 
    images = results.length 
    for img in images 
     a = document.createElement('a'); 
     a.href = results.data[i].images.standard_resolution.url; 
     img = document.createElement("img"); 
     img.src = results.data[i].images.low_resolution.url; 
     a.appendChild(img); 
     document.getElementsByTagName('body')[0].appendChild(a); 

예기치 않은 우발곡이라는 오류가 계속 발생합니다. 어떤 팁?

답변

3

:

_feed: (results) -> 
    for result in results.data 
     a = document.createElement 'a' 
     a.href = result.images.standard_resolution.url 

     img = document.createElement 'img' 
     img.src = result.images.low_resolution.url 

     a.appendChild img 
     document.body.appendChild a 

주요 차이점은 results.data의 각 항목을 통해 for 루프 반복합니다. 루프에 여전히 results.data[i]이 있었으므로 항목별로 반복하는 경우에는 실제로 필요하지 않습니다.

+0

'results.data'가 객체 인 경우 'for..of'가되어서는 안됩니까? – elclanrs

+0

@elclanrs :'results.data'가 배열이 아닌가요? 나는 그것이 배열이라고 생각했다. – Blender

+0

어쩌면 내가 오해했을 수도 있습니다 ... OP는'results'는 JSON 객체라고 말합니다 ... – elclanrs

0

하드 탭 대신 부드러운 탭 (공백)을 사용하는 편집기를 사용하고 있는지 확인하십시오. 모든 줄이 예상대로 들여 쓰기되어 있는지 확인하십시오 : 첫 번째 두 줄은 두 칸, 다른 줄은 네 칸. 그렇지 않으면 탭과 공백을 혼합하는 오류가 발생합니다.

또한 코드 맨 끝에 임의의 백틱이 있음을 알 수 있습니다. 실제 코드에있는 것입니까 아니면 그냥 여기에 복사 했습니까?

또한 세미콜론을 무시하십시오. 당신이 그들을 필요가 없습니다 :) 나는이 대신 같은 것을 시도 할 것이다