देशी 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, जो कि एक पुस्तकालय है जिसमें सामान्य उपयोगिता विधियां हैं। इसमें बहुत सारे उपयोगी कार्य हैं जो आपके कोड को DRY करते हैं।
utilपुस्तकालय -require('util').isArray(arr)nodejs.org/api/util.html#util_util_isarray_object