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.toString
método sobre él. Esto siempre regresará [object Array]
para matrices.
En mi experiencia personal, encuentro que preguntar toString
cuál es el método es el más efectivo, pero no es tan corto o legible como instanceof Array
tampoco es tan rápido, Array.isArray
pero 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.
util
biblioteca node.js -require('util').isArray(arr)
nodejs.org/api/util.html#util_util_isarray_object