funzione V8 nativa. È veloce, è sempre corretto. Questo fa parte di ES5.
Verifica se l'oggetto è stato creato con il costruttore dell'array.
Un metodo dal carattere di sottolineatura. Ecco uno snippet tratto dalla loro fonte
var toString = Object.prototype.toString,
nativeIsArray = Array.isArray;
_.isArray = nativeIsArray || function(obj) {
return toString.call(obj) === '[object Array]';
};
Questo metodo prende un oggetto e chiama il Object.prototype.toString
metodo su di esso. Ciò tornerà sempre [object Array]
per gli array.
Nella mia esperienza personale trovo che chiedere il toString
metodo sia il più efficace ma non è così breve o leggibile come instanceof Array
né è veloce come, Array.isArray
ma è il codice ES5 e tendo a evitare di usarlo per la portabilità.
Personalmente consiglierei di provare a utilizzare underscore
, che è una libreria con metodi di utilità comuni al suo interno. Ha molte funzioni utili che ASCIUGANO il tuo codice.
util
libreria node.js -require('util').isArray(arr)
nodejs.org/api/util.html#util_util_isarray_object