itiriri

코드를 보다가 itiriri라는 모듈을 발견하게 되었습니다.

뭐지 싶다가, Danuel님의 설명에 의해 깨닫게 되었습니다!

일반적인 array의 경우에는 동작이 다음과 같습니다.

  • [1,2,3,4,5,6].filter(짝수만필터).map(곱하기3) 을 구현한다고 하면,
  • [2,4,6]이라는 배열을 만들고, 그 배열을 다시 순회하여 곱하기 3을 하여 [6, 12, 18]이 됩니다.

하지만 itiriri의 경우에는 다음과 같습니다.

  • [1,2,3,4,5,6]중에서 1은 짝수가 아니므로 돌지않습니다.
  • 2는 짝수이므로, 바로 다음 map으로 가서 6을 만듭니다.
  • 3은 짝수가 아니므로 돌지 않습니다.
  • 4는 짝수이므로 map으로 가서 12를 만듭니다.
  • 이런식으로 [6, 12, 18]을 생성합니다. 뭔가 묘하게 다르죠?

아래는 npm 링크입니다.

[ npm itiriri link ]

npm에 의하면 아래와 같이 양이 커질수록 차이가 나게 itiriri가 이득이 된다고 하네요!

image.png