2012-05-23 2 views
0

JS :더 우아한 커피 스크립트 루프

for(i=this.current.arr.length;i<this.counterLength;i++){ 
    dosomthing(); 
    dosomethingelse(); 
} 

커피 : 나는 커피 스크립트가 큰 루프 구문 사탕을 가지고,하지만이보다 그것을 작성하는 더 우아한 방법을 찾을 수 없습니다 알고

i = @current.arr.length 
while i < @counterLength 
    dosomthing() 
    dosomethingelse() 
    i++ 

. 이 작업을 수행하는 방법이 더 많습니까?

start = this.current.arr.length 
end = this.counterLength 
for [start...end] 
    dosomthing() 
    dosomethingelse() 

필요가 없습니다에 :하지만 난 @currentLength에서 시작되지 0

+0

처음부터 끝까지 배열을 반복하려고합니까? A.K.A가 반대입니까? 'this.counterLength' 란 무엇입니까? – Kyle

+0

'@ currentLenght- @ current.arr.length' 번을 반복하려고합니다. – Fresheyeball

+0

왜 downvote? 관심을 돌리는가? – Fresheyeball

답변

2

[..] 운영자가 당신이 찾고있는 무엇을 할 필요가

for currentArr in current.arr 
//and 
for currentArr, 1 in current.arr 

: 약

알아요 startend을 미리 정의하면 코드를 조금 더 명확하게 만들었습니다. startend보다 크면 뒤로 이동합니다. 당신이 코드에서 < 대신 <=을 사용하기 때문에

사실 당신은 [...] 운영자가 필요합니다. [...] 연산자는 마지막 요소를 제외합니다.

+0

나를이 연산자의 일부 문서에 연결할 수 있습니까? 나는 그것의 결코 들어 본 적이 없지만, 그것은 바로 neato를 내려다 본다! – Fresheyeball

+0

@Fresheyeball 공식 CoffeeScript 문서 : http://coffeescript.org/#slices – freakish

+0

질문을 따르십시오. 루프를 만들지 않고'i'를 사용하지 말아야합니까? – Fresheyeball