1. lodash?
- 데이터 처리를 위해 다양한 함수를 가지고 있는 라이브러리이다.
- 배열을 반복시키거나, 객체 형태의 데이터를 정렬하거나 하는 등의 작업을 쉽게 할 수 있다.
2. 예시
예시1 : gropBy(array | object, 규칙)
groupBy([6.1, 4.2, 6.3], Math.floor);
// => { '4': [4.2], '6': [6.1, 6.3] }
groupBy(['one', 'two', 'three'], 'length');
// => { '3': ['one', 'two'], '5': ['three'] }
예시 2 : join(array, '사이에 넣어줄 string')
join(['a', 'b', 'c'], '~');
// => 'a~b~c'
- 이와 같은 다양한 함수들이 존재한다. 그래서 처리하기 괴로운 데이터 형태로 백엔드에서 넘겨받는다고 하더라도 찰떡같이 잘 바꿔 사용하면 된다.
3. 단점
- 용량이 커서 사용하지 않는 경우가 있다고 한다...! (친구 개발자 프로젝트에서는 사용할 때 그런 이슈가 있었다고 하는데, 잘 모르겠다. 함수 덩어리들이 용량이 커봐야 그리 크지 않을 것 같다.)
- 나중에 알고리즘 문제 풀때 답답하다. 데이터를 받으면 lodash 함수부터 생각난다. (요즘에는 면접 때도 Ai 한테 물어보고 하는 경우도 있다고 하니 뭐 비슷한 경우가 아닐까? 오히려 이쪽이 더 낫지 않나...? 하는 개인적인 생각)
4. 그래서 어떻게 사용할 것인가?
- 물론 프로젝트에서는 이렇게 저렇게 잘 사용하면 된다. 하지만...?
직접 lodash 함수를 구현해 본다면...?
- 실무에서 쓰기 좋은 함수들의 모음 -> 만약, 실무에서 쓰지 못 하는 프로젝트를 만난다면? -> 직접 구현!
- 실무에서 적용시키기 어렵고 복잡한 알고리즘 문제들보다 더 활용도가 높을 것이다!라는 결론이다.
5. 연습하는 법
- https://lodash.com/docs 로 접속한다.
- 스크롤을 랜덤으로 쭉 내린다 (순서대로 하는 것은 추천하지 않는다. 데이터 형태별로 순차로 적혀있어서 배열과 객체를 섞어서 하는 게 더 헷갈리고 도움이 된다.)
- 아무 함수나 찝고 함수를 하나 만들고, 예시와 똑같이 동작하도록 만든다.
- 시간이 남거나 기회가 된다면 실무처럼 똑같은 환경이라고 생각하고 만든다. 예를 들어, for 문을 사용하지 않는다거나, map을 reduce로 바꾸어 최적화시킨다거나, if문이 중첩 될 경우 삼항연산자로 바꾼다거나 하는 등으로 말이다.
'Coding > Today I Learned' 카테고리의 다른 글
2023.06.10 (Mon.) lodash - isNull (0) | 2023.06.12 |
---|---|
2023.06.10 (Sat.) lodash - chunk (0) | 2023.06.10 |
2023.06.06(Tue.) <Jest를 이용한 프론트엔드 테스트 코드> (0) | 2023.06.06 |
2023.05.31(Wed.) tailwindcss를 알아보자 (0) | 2023.05.31 |
2023.05.30(Tue.) 네이버 지도에서 Marker 다루기 (0) | 2023.05.31 |