[JS알고리즘] 다양한 타입의 데이터가 어떤 타입의 데이터인지 적은 새로운 배열 반환
in Algorithm
Q) 다양한 타입의 데이터가 들어있는 배열을 입력받아, 각 인덱스에 어떤 타입의 데이터가 들어있는지 적은 새로운 배열을 반환하는 함수를 완성하세요
- 빈 배열을 입력받은 경우, 새로운 빈 배열을 반환해야 합니다
- 새로운 배열을 만들어서 값을 넣어주어야 하기 때문에 map함수를 사용해서 도출되는 값들이 새로운 배열로 생성되도록 했다.
- 근데 문제는 배열이 값으로 들어있는 애는
typeof
를 사용해도 결과값이object
로만 결과 도출됨 (이게 문제의 의도였던듯) - 그래서 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;
}