arrays - JavaScript isArray - JavaScript에서 변수가 배열인지 어떻게 확인합니까?

jQuery isArray / javascript / variables

변수가 JavaScript에서 배열인지 단일 값인지 확인하고 싶습니다.

가능한 해결책을 찾았습니다 ...

if (variable.constructor == Array)...

Andy McCluggage



Answer #1

최신 브라우저 (및 일부 기존 브라우저)에서는 다음을 수행 할 수 있습니다.

Array.isArray(obj)

IE의 이전 버전을 지원해야하는 경우 es5-shim 을 사용하여 Array.isArray 를 폴리 ​​필 할 수 있습니다 . 또는 다음을 추가

# 네이티브 구현을 사용할 수없는 경우에만 구현
if (typeof Array.isArray === 'undefined') {
  Array.isArray = function(obj) {
    return Object.prototype.toString.call(obj) === '[object Array]';
  }
};
obj instanceof Array
var func = function() {
  console.log(arguments)        // [1, 2, 3]
  console.log(arguments.length) // 삼
  console.log(Array.isArray(arguments)) // 거짓 !!!
  console.log(arguments.slice)  // 정의되지 않음 (Array.prototype 메서드를 사용할 수 없음)
  console.log([3,4,5].slice)    // function slice () {[네이티브 코드]}
}
func(1, 2, 3)