Js 가 변 수 를 배열 형식 으로 판단 하 는 방법
instanceof 방법 은 대상 (A) 이 다른 대상 (B) 의 인 스 턴 스 인지 확인 하 는 데 사 용 됩 니 다.
문법: A instanceof B
console.log([1,2,3] instanceof Array); // true
console.log("12345" instanceof Array); // false
2. 원형 체인 방법
이 변수의 구조 기 나 실례 화 대상 원형의 구조 기 가 Array 구조 함 수 를 가리 키 는 지 검사 합 니 다
console.log([1,2,3].__proto__.constructor === Array); // true
console.log([1,2,3].constructor === Array); // true
3. isArray () 방법
호 환: IE9 +, Firefox 4 +, Safari 5 +, Opera 10.5 +, Chrome 만 지원 합 니 다.
console.log(Array.isArray([1,2,3]));
4. Object 원형 상의 toString () 방법
원리: Object. prototype. toString. call (변수) 의 반환 값 을 통 해 변수의 유형 을 검사 합 니 다.
흔히 볼 수 있 는 몇 가지 반환 유형:
[object Function]:
[object Array]:
[object Date]:
[object JSON]: JSON
[object Object]:
function isArray(ary) {
return Object.prototype.toString.call(ary) === '[object Array]';
}
console.log(isArray([1,2,3])); // true
5. 여과, 제거 법
property IsEnumerable (): 매 거 진 가능 합 니 다.
object
지정 한 이름 의 속성 이 없 거나 지정 한 속성 이 매 거 진 것 이 아니라면 propertyIsEnumerable()
방법 은 되 돌아 갑 니 다. false
, true
function isArray(ary) {
return ary && typeof ary === 'object' && ary.propertyIsEnumerable(length)/* */;
}
console.log(isArray([1,2,3])); // true