Typescript : 문자열,숫자 섞인 배열 숫자 배열로 바꾸기, 객체 프로퍼티값의 가장 마지막 값 반환하기

문제1

숫자여러개를 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"])

문제 2

과목을 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

좋은 웹페이지 즐겨찾기