[JS알고리즘] 다양한 타입의 데이터가 어떤 타입의 데이터인지 적은 새로운 배열 반환


Q) 다양한 타입의 데이터가 들어있는 배열을 입력받아, 각 인덱스에 어떤 타입의 데이터가 들어있는지 적은 새로운 배열을 반환하는 함수를 완성하세요

​ - 빈 배열을 입력받은 경우, 새로운 빈 배열을 반환해야 합니다




  1. 새로운 배열을 만들어서 값을 넣어주어야 하기 때문에 map함수를 사용해서 도출되는 값들이 새로운 배열로 생성되도록 했다.
  2. 근데 문제는 배열이 값으로 들어있는 애는 typeof 를 사용해도 결과값이 object로만 결과 도출됨 (이게 문제의 의도였던듯)
  3. 그래서 map함수안에서 if문을 주고 배열을 확인하는 함수인 Array.isArray(obj) 를 사용함. 맞으면 ‘array’를 리턴. 아니면 typeof로 타입 리턴
//typeArray([1, 'st', true]) => ['number', 'string', 'boolean']
//typeArray([undefined, [1, 2], { hello: "world"}]) => ['undefined', 'array', 'object']

function typeArray(arr) {
  // 여기에 코드를 작성하세요
  let result = arr.map(item => {
    if (Array.isArray(item)) {
      return 'array';
    } else {
      return typeof item;
    }
  });
  return result;
}





© 2018. by sora

Powered by sora