숫자여러개를 array 자료에 저장해놨는데 '4', '5' 이런 식의 문자타입의
숫자가 발견되고 있습니다. 이걸 클리닝해주는 함수가 필요합니다.
숫자와 문자가 섞인 array를 인자로 들어오면 요소들이 숫자로 변환되어 나오는 함수를 만들고 타입지정까지 확실히 해보십시오.
답 :
function convertNumberArray(arr:(number|string)[]){
const resultArr:number[] = [];
arr.forEach((elems) => {
if(typeof elems === 'string'){
resultArr.push(parseInt(elems));
}else{
resultArr.push(elems);
}
})
return console.log(resultArr);
}
convertNumberArray([1,"33",2,3,"4","5","14"])
과목을 1개만 가르치는 선생님들은 문자열로 과목이 저장이 되어있고
과목을 2개 이상 가르치는 선생님들은 array 자료로 과목들이 저장되어 있습니다.
선생님이 가르치고 있는 과목중 맨 뒤의 1과목만을 return 해주는 함수를 만들어봅시다. 그리고 타입지정도 엄격하게 해보도록 합시다.{ subject : 'math' } //'math' return { subject : ['science', 'art', 'korean'] } // 'korean' return { hello : 'hi' } ) // type Error
type Tteacher = {
subject: string|string[];
}
function lastSubject(teacher:Tteacher){
if(typeof(teacher.subject) === 'string'){
return console.log(teacher.subject);
}else{
return console.log(teacher.subject.pop());
}
}
lastSubject({subject : 'math'}) // math
lastSubject({subject: ['science','art','korean']}) // korean