JavaScript 함수형 프로그래밍 - L.flatten과 flatten


JavaScript 함수형 프로그래밍 - L.flatten과 flatten

flatten 배열 내부의 배열을 전부 평탄화해서 1차원 배열로 만드는 역할 L.flatten 지연적으로 동작 const isIterable = a => a && a[Symbol.iterator]; L.flatten = function *(iter) { for (const a of iter) { if (isIterable(a)) { for (const b of a) yield b; } else yield a; } }; const it = L.flatten([[1,2],3,4,[5,6],[7,8,9]]); console.log(it.next()); //{value: 1, done: false} console.log(it.next()); //{value: 2, done: false} console.log(it.next()); //{value: 3, done: false} console.log([...it]) // [1,2,3,4,5,6,7,8,9] flatten 실행 즉시 배열을 생성 ...


#deepFlat #flatten #JavaScript #Lflatten #yield #자바스크립트 #함수형프로그래밍

원문링크 : JavaScript 함수형 프로그래밍 - L.flatten과 flatten