배열 입력인지 확인하기

자바스크립트 코딩테스트 문제로 array-type-check-methods 주제를 연습해보세요. 난이도는 easy이며, 브라우저에서 바로 JavaScript로 풀이를 실행할 수 있습니다.

js-basic easy array-type-check-methods 함수명: solution 제한 시간: 200ms

value가 주어질 때, 이 값이 JavaScript 배열이면 true, 배열이 아니면 false를 반환하는 solution 함수를 작성하세요.

오늘의 메서드

오늘 배울 메서드는 Array.isArray()입니다.

Array.isArray()는 어떤 값이 진짜 배열인지 확인할 때 사용하는 JavaScript 기본 메서드입니다.

메서드 설명

JavaScript에서는 배열도 객체의 한 종류입니다. 그래서 typeof [1, 2, 3]을 실행하면 "object"가 나옵니다.

이처럼 typeof만으로는 일반 객체와 배열을 정확히 구분하기 어렵습니다. 이때 Array.isArray(value)를 사용하면 값이 배열인지 아닌지를 명확하게 확인할 수 있습니다.

기본 문법

Array.isArray(value)
  • value: 배열인지 확인할 값
  • 반환값: 배열이면 true, 배열이 아니면 false

사용 예시

Array.isArray([1, 2, 3]) // true
Array.isArray([]) // true
Array.isArray('hello') // false
Array.isArray({ length: 3 }) // false

주의할 점

  • 빈 배열 []도 배열이므로 true입니다.
  • 일반 객체 {}는 배열이 아니므로 false입니다.
  • 문자열은 인덱스로 글자를 읽을 수 있어 배열처럼 보일 수 있지만 배열은 아니므로 false입니다.
  • null은 객체처럼 다뤄지는 특이한 값이지만 배열이 아니므로 false입니다.

제한사항

  • value에는 배열, 문자열, 숫자, 객체, null 등이 들어올 수 있습니다.
  • 배열의 길이는 0 이상입니다.
  • 반환값은 반드시 불리언(true 또는 false)이어야 합니다.
  • 입력값을 직접 수정할 필요는 없습니다.

예시

  • 입력: [1, 2, 3] → 출력: true
  • 입력: [] → 출력: true
  • 입력: "hello" → 출력: false
  • 입력: { name: "수야" } → 출력: false
  • 입력: null → 출력: false

힌트

  • 값의 타입을 직접 비교하려고 하기보다, 배열 판별 전용 메서드를 떠올려 보세요.
  • Array.isArray(value)의 결과를 그대로 반환해도 됩니다.

해설

이 문제는 입력값이 배열인지 확인하는 기본 타입 판별 문제입니다.

초보자가 자주 하는 실수는 typeof value === 'object'처럼 확인하는 것입니다. 하지만 배열, 일반 객체, null은 모두 이 방식에서 헷갈릴 수 있습니다. 배열만 정확히 구분하려면 Array.isArray()를 사용하는 것이 가장 안전하고 읽기 쉽습니다.

풀이 흐름은 간단합니다.

  1. solution(value)로 값을 받습니다.
  2. Array.isArray(value)를 호출합니다.
  3. 그 결과를 그대로 반환합니다.

예를 들어 value[1, 2, 3]이면 배열이므로 true입니다. 반대로 "hello"{ name: "수야" }는 배열이 아니므로 false입니다. 빈 배열 []은 안에 값이 없어도 배열이라는 사실을 기억하면 좋습니다.

코드 작성

starter code를 바탕으로 함수를 완성한 뒤 예제 테스트를 실행해보세요.

JavaScript 에디터 로딩 중...

커스텀 테스트

함수 인자를 JSON 배열 형태로 입력하세요. 예: [3, 5], [[1, 2, 3]]

아직 실행하지 않았습니다.

실행 결과

아직 실행하지 않았습니다.

예제 테스트를 실행하면 여기에서 결과를 확인할 수 있습니다.

댓글

문제 풀이 아이디어, 질문, 반례를 자유롭게 나눠보세요.