기본 V8 기능. 빠르고 항상 정확합니다. 이것은 ES5의 일부입니다.
객체가 배열 생성자로 만들어 졌는지 확인합니다.
밑줄의 방법. 다음은 소스에서 가져온 스 니펫입니다.
var toString = Object.prototype.toString,
nativeIsArray = Array.isArray;
_.isArray = nativeIsArray || function(obj) {
return toString.call(obj) === '[object Array]';
};
이 메서드는 개체를 가져와 Object.prototype.toString
그에 대한 메서드를 호출합니다 . 이것은 항상 [object Array]
배열에 대해 반환 됩니다.
내 개인적인 경험에서 나는 toString
방법을 묻는 것이 가장 효과적이라는 것을 알지만 그것은 짧거나 읽기 쉽고 instanceof Array
빠르지는 Array.isArray
않지만 ES5 코드이며 이식성을 위해 사용하지 않는 경향이 있습니다.
저는 개인적 underscore
으로 일반적인 유틸리티 메서드가 포함 된 라이브러리 인를 사용해 보는 것이 좋습니다 . 코드를 건조시키는 유용한 기능이 많이 있습니다.
util
라이브러리 사용require('util').isArray(arr)
-nodejs.org/api/util.html#util_util_isarray_object