를 사용하여 멀티
window
환경에없는 경우, 당신은 생성자를 확인할 수 있습니다
...
var isArray = possiblyAnArray.constructor == Array;
... 또는 instanceof
를 사용하여 ...
var isArray = possiblyAnArray instanceof Array;
이 '수상 다른 창에서 Array
생성자가 다른 참조를 보유하므로 다중 window
환경에서 작업하지 마십시오. 이 경우에는
var isArray = ({}).toString.call(possiblyAnArray) == "[object Array]";
... 그것을 느린 방법을해야 할 것 I는 구현하기 매우 간단하지만, 전혀 엄격하게 Array
무엇이 당신에게 보장은없는, 너무 다른 방법을 보았다 아닙니다.
Array.prototype.isArray = true;
var isArray = [].isArray;
사용하는 것은 좋지 않지만 어떻게 작동되는지는 흥미 롭습니다. 오리 타이핑을 사용하는 것입니다
var isArray = a instanceof Array;
배열에 숫자가 아닌 값을 추가하면이 값이 연관 (개체)이됩니다. – jeremy
@Nile - 아니요. JavaScript에는 "연관 배열"이라는 것이 없습니다. 숫자가 아닌 값을 배열에 추가하는 것은 특별한 일이 아닙니다. 숫자가 아닌 속성을 배열에 추가하는 것은 (대개) 모범 사례는 아니지만 객체로 만들지는 못합니다 (이미 객체이기 때문에). – Quentin
@Quentin hm, 알겠습니다. – jeremy