js
수집하기, map을 이용해서 만드는, values, pluck --- 1
mallang_col
2024. 7. 6. 22:31
자바스크립트에서 매우 자주사용되는 메서드인 map함수를 이용해서 어떤걸 만들수 있는지 공부 할 수 있었다.
map함수의 경우 결국 A 라는 데이터를 특정 행위를 통해 B라는 경우로 변환해주는 함수이고, 이를 수집하기
라고 말할 수 있다.
맵 메서드의 기본적인 구조에 대해 알아보자.

이러한 구조를 타고 동작하는 map 함수를 먼저 구현하도록 하자 .
function _map<T, R>(arr: T[], mapper: (item: T) => R): R[] {
const result: R[] = [];
for (let i = 0; i < arr.length; ++i) {
result.push(
mapper(arr[i])
);
}
return result;
}
이러한 간단한 구조의 map함수를 만들었다
이 함수에서, values, 와 pluck 함수를 구현해보자,
values함수의 경우,인덱스의 값을 가져와야 한다.
function _values<T>(arr:T[]): T[] {
return _map(arr, (item: T) => item);
}
function _pluck<T, K extends keyof T>(arr: T[], key: K): T[K][]{
return _map(arr, (item) => item[key])
}
와 같이 구현 가능하다.