2012년 3월 29일 목요일

자바스크립트 배열 판별법

자바스크립트 배열 판별법 (javascript adjudge Array)

javascript adjudge Array

배열은 typeof 연산자를 사용하면 "object"가 반환됩니다

alert(typeof [10, 13]); //"object"

배열도 객체이니 이것은 틀린말이 아니지만 그리도움이 되지 않습니다.
length를 이용하거나 slice()를 사용 하여 판별 할 수 있지만 배열과 객체가 똑같으면
어떤식으로 구분할 방법이 없습니다.
instanceof Array를 사용할수 있지만 IE에서 안먹히는 버전도 있어 제약이 생깁니다.
ECMAScript 5에서는 Array.isArray()라는 새로운 메서드가 정의되었다. 이 메서드는 인자가 배열이면 true를 반환합니다.
alert(_array.isArray([1,2]));  //true;

Array.isArray({name:"park","time":10}); //false반환

이런 방법도 있습니다
object.prototype.toString()을 사용하면 배열일경우 [object Array]가 반환이 됩니다

객체면 [object, object]가 반환이 됩니다

댓글 없음:

댓글 쓰기