질문: 쇼핑몰에서 옵션이 여러개 있는데 이걸 조합해서 보여주고 싶어요. 사이즈: s, m, l 색상: blue, red 길이: short, long 대상: girl, boy, woman, man 이라고 했을 때 s blue short woman 이런 식으로요. 답변: reduce 를 사용하세요. 풀이 예제 << 클릭하면 coffee/js 소스랑 결과값 모두 볼 수 있어요. Array::flatMap = (lambda) -> @concat.apply [], @.map lambda v=[ ['s','m','l'] ['blue','red'] ['short', 'long'] ['girl', 'boy', 'woman', 'man'] ] console.log "result\n", v.reduce (x1,x2)-> x1.map (o)-> x2.map (p)-> "#{o} #{p}" .flatMap (o)->o 분류의 갯수는 상관없어요. 두개를 순서대로 합쳐야한다! 싶을 때는 reduce로 어떻게 해봐야지! 하고 시작하는게 좋아요. 먼저 ['s', 'm', 'l'] 하고 ['blue', 'red'] 만 놓고 보자구요. map으로 이중 루프를 돌면서 둘을 조합하면 되겠지요? ['s', 'm', 'l'].map (o)-> ['blue', 'red'].map (p)-> "#{o} #{p}" 근데 이렇게 하면 [["s blue","s r
Meteor evangelist, IoT, Renoise, Lua, Javascript, Coffeescript