인프런 커뮤니티 질문&답변

빅픽쳐팀SI사업팀님의 프로필 이미지

작성한 질문수

함수형 프로그래밍과 JavaScript ES6+ 응용편

indexBy

indexBy 함수에 대한질문입니다.

22.12.02 12:02 작성

·

302

0

안녕하세요 정말 좋은 강의 감사합니다.

IndexBy 함수에 대한 질문이 있어서 글 작성합니다.

indexBy에 첫번째 인자로 function을 넘겨주시는데

indexing하고 싶은 키 값 자체 하나만 string으로 받는것이 indexBy 함수를 외부에서 사용하는 개발자 입장에서 선언적으로 사용할 수 있지 않을까요?

예를들면

_.indexBy("id", users) 라고 사용하는것이 더 좋을 것 같은데

함수를 넘겨주는 이유가 있으신가요?!

 

다시 한번 좋은 강의 감사합니다.

답변 2

0

유인동님의 프로필 이미지
유인동
지식공유자

2022. 12. 24. 21:54

함수는 문자열보다 더욱 많은 것을 할 수 있습니다.

원하는 인덱싱할 키 값을 다른 값으로 만들 수도 있고 메서드를 실행할 수도 있습니다 :)

0

빅픽쳐팀SI사업팀님의 프로필 이미지

2022. 12. 02. 18:44

또한 indexBy가 search 를 O(1)의 시간복잡도를 위한것이라면

const foo = [
  { id: 1, name: 'AA', age: 23 },
  { id: 3, name: 'BB', age: 21 },
  { id: 5, name: 'CC', age: 24 },
];

const fooByName = new Map(foo.map((e) => [e.name, e]));

const result = fooByName.get('park');

이렇게 쓰는것과 차이가 혹시 어떤것이 있나요?

Map을 만든 후 get으로 계속 뽑아쓰는것과 다른점이 궁금합니다!

유인동님의 프로필 이미지
유인동
지식공유자

2022. 12. 24. 21:55

차이가 있다면 데이터형이 기본 json 구조라는 차이가 있겠습니다 :)