Something like [['a', 'aa'], ['b', 'bb'], ['c', 'cc']] isn't actually a two dimensional array, there is no such thing in JavaScript or CoffeeScript. That's actually an array of arrays. So if you do this:
array = [['a', 'aa'], ['b', 'bb'], ['c', 'cc']]
for value in array
#...
then value will be ['a', 'aa'], ['b', 'bb'], and finally ['c', 'cc'] inside the loop body. Then you could say:
array = [['a', 'aa'], ['b', 'bb'], ['c', 'cc']]
for value in array
someFunc(value[0], value[1])
or you could use a splat to unpack the value array automatically:
array = [['a', 'aa'], ['b', 'bb'], ['c', 'cc']]
for value in array
someFunc(value...)
# ------------^^^
That splat is just a hidden Function.prototype.apply call and is equivalent to:
someFunc.apply(null, value)
If you need to iterate over value then you'd just throw another loop in:
array = [['a', 'aa'], ['b', 'bb'], ['c', 'cc']]
for value in array
for e in value
# do things with `e`, it will be 'a', 'aa', 'b', ...