3차원 배열, 4차원 배열
584
작성자 없음
2차원 배열일 경우에는 L.flatten 코드로 가능하지만
3차원 배열, 4차원 배열일 경우엔 어떻게 구현해야 좋을까요?
아래와 같이 구현할려고하니 deepFlatten을 해결해주는 곳이 없어서 3차원 배열 이상은 이터레이터로 리턴받고 있습니다.ㅠㅠ
const isIterable = a => a && a[Symbol.iterator];
function* deepFlatten(iter){
for(const a of iter){
if (isIterable(a)) yield deepFlatten(a)
else yield a;
}
}
L.flatten = function* (iter) {
for (const a of iter) {
if (isIterable(a)) yield deepFlatten(a)
else yield a;
}
};
var it = L.flatten([[1, [1,2,3]], 3, 4, [5, 6], [7, 8, 9]]);
log(take(Infinity, it))[deepFlatten, 3, 4, deepFlatten, deepFlatten]
답변 1
프론트엔드 실무에서 어떤때에 쓰이는지 궁금합니다
1
122
1
함수형 프로그래밍 심화 강의 자료 추천
0
100
2
함수형 자바스크립트 프로그래밍 책
0
72
1
filter가 아무것도 걸러내지 못하는 경우
0
133
1
take 함수의 성능적면에서의 이점
1
489
1
pipe함수
1
540
1
Identity 함수
0
453
1
함수형 프로그래밍이란
0
841
1
reduce 예제 코드 제안!
0
405
1
fxts를 배워보려고 합니다.
1
542
1
flatMap 관련 질문드립니다~
1
453
1
다용성이 높은 L.flatMap
0
361
1
변수에 재 할당 금지~
0
543
1
DevTools라고 옆에 결과 확인하는거 어떻게 하나요?
0
489
2
소요시간에 관해서 질문드립니다
1
467
1
join에 대한 내용이 궁금증이 해결되지 않아서 질문드립니다!
0
474
2
reduce에 L.range를 사용할 때
0
533
2
[이해내용 공유] Lazy 에서 C.reduce가 병렬 효과를 내는 이유
3
748
2
제가 이해한 C.Reduce와 Reduce의 동작 차이 정리
2
801
3
go, pipe 함수 관련하여 질문 드립니다.
1
506
1
안녕하세요 강사님!
0
385
2
fxts에 go가 없는 이유?
0
849
1
비동기 관련 질문입니다!
0
465
1
질문 있습니다.
0
523
1





