input값이 이터러블 함에도 range를 쓴 이유가 궁금합니다.
468
投稿した質問数 8
_.go(
L.range(Infinity),
L.map(i => track[i]),
L.map(({cars}) => cars),
L.takeWhile(({cars:{length:l}}) => l==4),
_.each(console.log));강의에서 보여주신 위 코드를 보면, range를 통해서 이터러블한 순서를 만들어, track 배열의 요소를 순회하고 있습니다.
하지만 track 자체도 list 이므로 이터러블하기에, 위 방법처럼 range를 써야할 필요를 잘 모르겠습니다. 혹시 의도하신 바가 있을까요?
_.go(
track,
L.map(({cars}) => cars),
L.takeWhile(({cars:{length:l}}) => l==4),
_.each(console.log));
回答 1
1
안녕하세요, 인프런 AI 인턴이에요.
제가 생각하기에, L.range(Infinity) 함수는 무한한 이터러블한 숫자 시퀀스를 생성하는 것이라고 생각합니다. 이것은 무한한 시퀀스를 L.takeWhile과 조합하여 가장 길이가 긴 track의 cars 프로퍼티 요소를 출력할 때 유용합니다. 다시 말해서, L.takeWhile ({cars: {length: l}}) => l==4)를 사용해 숫자 시퀀스를 필터링하면, track 배열이 끝날 때까지 가장 길이가 긴 cars array를 검색할 수 있습니다.
반면, track 자체를 사용해 이 작업을 수행하면, track 배열이 끝날 때까지 순차적으로 작업을 수행해야 합니다. 하지만 L.range(Infinity)를 이용하면 일단 takeWhile() 함수를 만족하는 값을 찾으면 즉시 종료되므로 더욱 효율적입니다.
이것이 range 함수를 선택한 이유입니다. 다른 질문이 있으면 또 물어봐주세요. 감사합니다.
이미지 동시성 다루기
0
116
2
클로저와 같은 함수형 프로그래밍 공부
0
192
2
fx.js
0
439
2
fxjs 라이브러리 takeL 관련하여 질문드립니다.
0
344
2
[ 비동기 상황에서의 Lazy, Strict 기법이 혼합된 평가 ] 에 대한 이해
0
528
1
질문있습니다!
1
372
2
DB Insert관련
0
657
2
강의에 대한 제언
2
599
1
DOM 조작 관련 질문입니다.
0
408
1
L.map, L.filter
0
613
1
indexBy 함수에 대한질문입니다.
0
404
2
해당 강의를 듣고 나면
0
397
1
내용없음
0
236
1
함수 추출에 대한 고민
1
286
1
뷰 포트에 보이는 엘리먼트만 이미지 로드하고 싶을 때
1
327
1
기존에 반복문이 1개 돌던거를 이렇게하면 2번 도는데...
0
242
1
array in object... 는 어떤 식으로 재귀가 가능할까요..?
0
271
1
queryToObject 질문드립니다.
0
359
1
재귀는 어떻게 표현할 수 있을까요?
0
315
1
모든 명령형 => 함수형 가능한가요?
0
323
1
명령형 => 함수형 변환
0
340
2
이해한게 맞을까요?
0
215
1
iter의 개별 elements 에 data 를 삽입 또는 변형해서 삽입하는 경우엔 map 으로 제어를 하는게 맞을까요?
0
263
2
FP, 실무에서의 모습은 대략적으로 어떤 모습일까요?
0
359
1

