natywna funkcja V8. Jest szybki, zawsze jest poprawny. To jest część ES5.
Sprawdza, czy obiekt został utworzony za pomocą konstruktora tablicy.
Metoda z podkreślenia. Oto fragment pobrany z ich źródła
var toString = Object.prototype.toString,
nativeIsArray = Array.isArray;
_.isArray = nativeIsArray || function(obj) {
return toString.call(obj) === '[object Array]';
};
Ta metoda przyjmuje obiekt i wywołuje na nim Object.prototype.toString
metodę. To zawsze będzie zwracane w [object Array]
przypadku tablic.
Z własnego doświadczenia toString
wynika, że najskuteczniejsza jest metoda zadawania pytań, ale nie jest tak krótka ani czytelna, jak instanceof Array
i nie jest tak szybka jak, Array.isArray
ale to jest kod ES5 i staram się unikać używania go do przenoszenia.
Osobiście poleciłbym spróbować użyć underscore
, która jest biblioteką z typowymi metodami narzędziowymi. Posiada wiele przydatnych funkcji, które OSUSZA Twój kod.
util
biblioteki node.js -require('util').isArray(arr)
nodejs.org/api/util.html#util_util_isarray_object