inflearn logo
강의

Khóa học

Chia sẻ kiến thức

TypeScript (TypeScript) được cắt thành từng miếng vừa một miếng ăn

Định nghĩa kiểu dữ liệu cho phương thức map và forEach

map함수 작성관

Đã giải quyết

680

q33as1836

19 câu hỏi đã được viết

0

안녕하세요 강의 잘 듣고 있습니다.

 

function map<T,K>(arr:T[],callback:(item:any)=>K){
let result = [];
for (let i = 0; i < arr.length; i++) {
result.push(callback(arr[i]))
}
return result
}

이렇게 map함수를 정의하였는데요

map(['hi','hello'],(it)=>parseInt(it))

이게 가능하면 안되니까

function map<T>(arr:T[],callback:(item:any)=>T){
let result = [];
for (let i = 0; i < arr.length; i++) {
result.push(callback(arr[i]))
}
return result
}

이게 map함수 올바른 작성 양식 아닌가요??

typescript

Câu trả lời 2

1

q33as1836

'동일하게 동작할 수 있어야 하기 때문에' 이 개념이었군요!! 답변 감사합니다!!

0

winterlood

안녕하세요 이지수님 이정환입니다.

자바스크립트의 Map 메서드는 기존 배열 요소 타입과 다른 타입의 요소들로 이루어진 배열로 변환하는 기능도 제공합니다. 따라서 다음과 같은 동작이 가능해야 합니다.

const arr = [1, 2, 3];
arr.map((it) => it.toString());
// ["1", "2", "3"]

위 코드는 number 타입의 요소들이 담긴 배열을 string 타입의 요소들이 담긴 배열로 변환하는 예 입니다.

따라서 Map 메서드를 우리가 직접 구현할 때에도 위와 동일하게 동작할 수 있어야 하기 때문에
타입 변수를 2개(T, U) 사용해 반환 배열 요소의 타입이 원래 배열 요소의 타입과 달라질 수 있도록 설정해주어야 합니다.

인덱스드 엑세스타입 실무질문

0

39

2

모든 ts파일이 컴파일 되지 않습니다.(해결됨.)

0

100

4

핸드북 light/dark mode 관련 이슈가 있는 것 같습니다.

0

72

1

제네릭 클래스 핸드북 페이지가 undefined라고 나옵니다.

0

77

2

적절한 타입 찾기 React.ChangeEvent<HTMLInputElemen>

0

77

2

outDir 옵션 추가 후 컴파일 오류 질문

0

188

1

호출 시그니처 질문

0

114

2

서로소 유니언 타입이 discriminated union과 동의어 인가요?

0

132

2

조건부타입소개 중 함수오버로딩 활용 시 인수의타입과 함수의 반환값의 타입이 깨지는 문제

0

104

1

할인쿠폰 관련하여

0

233

2

프론트엔드에서의 인터페이스활용

0

145

2

안녕하세요 이정환님!

0

127

1

Node.js 설치에 관한 질문입니다.

0

133

2

함수 타입 호출 시그니처

0

95

1

35강. 모듈 보강은 라이브러리 파일을 직접 편집해야 하나요?

0

101

2

인터페이스 문법이 있는데 타입 별칭 문법은 왜 있나요?

0

154

4

마우스 호버 시 정보

0

135

2

vite으로 리액트 빌드하기를 업데이트해주세요.

1

116

2

타입가드를 만들어 사용하는 이유가 궁금합니다.

0

130

2

섹션 12가 너무 어려운데... 정상이겠죠..?

0

174

2

선생님.. 알고리즘도 강의해주시면안되나요

0

147

2

선생님은 어떻게 이런걸 아세요?

0

168

1

type: module

0

141

2

7:17초 업캐스팅 질문이있습니다!

0

109

1