2012-07-09 10 views

Odpowiedz

14

coffeescript ma for ... by do regulacji wielkości kroku normalnego for pętli. Więc iteracyjne nad tablicy w krokach 2 i chwycić elementów przy użyciu indeksu:

a = [ 1, 2, 3, 4 ] 
for e, i in a by 2 
    first = a[i] 
    second = a[i + 1] 
    # Do interesting things here 

Demo: http://jsfiddle.net/ambiguous/pvXdA/

Jeśli chcesz, możesz użyć destrukturyzowaną zadanie połączeniu z plasterka tablicy wewnątrz pętli:

a = [ 'a', 'b', 'c', 'd' ] 
for e, i in a by 2 
    [first, second] = a[i .. i + 1] 
    #... 

Demo: http://jsfiddle.net/ambiguous/DaMdV/

można też pominąć zmienną ignorowane i użyć pętli zakres:

# three dots, not two 
for i in [0 ... a.length] by 2 
    [first, second] = a[i .. i + 1] 
    #... 

Demo: http://jsfiddle.net/ambiguous/U4AC5/

To kompiluje do for(i = 0; i < a.length; i += 2) pętli jak cała reszta ma więc zasięg nie kosztuje nic

+1

bardzo pouczające.. CoffeeScript jest tak pięknym językiem, jeśli wykorzystasz jego pełen potencjał. –

Powiązane problemy