• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

L.takeWhile과 L.filter의 차이에 대해 제가 제대로 이해했는지 알고 싶어서 질문드립니다ㅎㅎ

21.02.15 08:34 작성 조회수 170

0

혹시, L.takeWhile과 L.filter의 차이가 L.takeWhile의 경우, 조건에 맞지 않는 값을 발견한 순간까지만 순회하고 그때까지의 값만 뽑아내고, L.filter의 경우 전부 순회하여 특정 조건에 맞는 값만 뽑아내는 게 맞나요?
아래 코드의 경우, L.takeWhile 대신 L.filter를 사용해도 똑같은 결과가 나오는 것 같아서요ㅎㅎ우연히 같은 결과가 나오는건가용?

const track = [
{ cars: ["철수", "영희", "철희", "영수"] },
{ cars: ["하든", "커리", "듀란트", "탐슨"] },
{ cars: ["폴", "어빙", "릴라드", "맥컬럼"] },
{ cars: ["스파이더맨", "아이언맨"] },
{ cars: [] },
];

_.go(
L.range(Infinity),
L.map((i) => track[i]),
L.takeWhile(({ car: { length: l } }) => l == 4),
_.each(console.log)
);

답변 2

·

답변을 작성해보세요.

1

위 상황에서 결과는 같지만 만일 데이터가 더 있을 때는 결과도 다르게 나올 수 있습니다 :)

takeWhile 은 중간에 종료된다는 차이가 있습니다. 

0

자스린님의 프로필

자스린

질문자

2021.02.16

바쁘신 와중에 답변해주셔서 감사합니다:) ㅎㅎ