你想通過數(shù)組來交換變量。
使用 CoffeeScript 的解構(gòu)賦值語法:
a = 1
b = 3
[a, b] = [b, a]
a
# => 3
b
# => 1
解構(gòu)賦值可以不依賴臨時變量實現(xiàn)變量值的交換。
這種語法特別適合在遍歷數(shù)組的時候只想迭代最短數(shù)組的情況:
ray1 = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
ray2 = [ 5, 9, 14, 20 ]
intersection = (a, b) ->
[a, b] = [b, a] if a.length > b.length
value for value in a when value in b
intersection ray1, ray2
# => [ 5, 9 ]
intersection ray2, ray1
# => [ 5, 9 ]