función V8 nativa. Es rápido, siempre es correcto. Esto es parte de ES5.
Comprueba si el objeto se creó con el constructor de matriz.
Un método de subrayado. Aquí hay un fragmento tomado de su fuente.
var toString = Object.prototype.toString,
nativeIsArray = Array.isArray;
_.isArray = nativeIsArray || function(obj) {
return toString.call(obj) === '[object Array]';
};
Este método toma un objeto y llama al Object.prototype.toStringmétodo sobre él. Esto siempre regresará [object Array]para matrices.
En mi experiencia personal, encuentro que preguntar toStringcuál es el método es el más efectivo, pero no es tan corto o legible como instanceof Arraytampoco es tan rápido, Array.isArraypero ese es el código ES5 y tiendo a evitar usarlo para la portabilidad.
Personalmente, le recomendaría que pruebe a usar underscore, que es una biblioteca con métodos de utilidad comunes. Tiene muchas funciones útiles que SECAN su código.
utilbiblioteca node.js -require('util').isArray(arr)nodejs.org/api/util.html#util_util_isarray_object