var arr = Array.prototype.slice.call( htmlCollection )
"নেটিভ" কোড ব্যবহার করে একই প্রভাব ফেলবে।
সম্পাদন করা
যেহেতু এটি প্রচুর মতামত পেয়েছে, নোট করুন (@ অরিওলের মন্তব্য অনুসারে) যে নিম্নলিখিত আরও সংক্ষিপ্ত প্রকাশটি কার্যকরভাবে সমতুল্য:
var arr = [].slice.call(htmlCollection);
তবে @ জুসিআর'র মন্তব্যে নোট করুন, "ভার্বোস" ফর্মের বিপরীতে এটি প্রক্রিয়াটিতে একটি খালি, অব্যবহৃত এবং সত্যই অব্যর্থ্য অ্যারের উদাহরণ তৈরি করে। সংকলকগণ এটি সম্পর্কে যা করেন তা প্রোগ্রামারের কেনের বাইরে।
সম্পাদন করা
ECMAScript 2015 (ES 6) যেহেতু অ্যারে.ফর্ম থেকে রয়েছে :
var arr = Array.from(htmlCollection);
সম্পাদন করা
ECMAScript 2015 এছাড়াও স্প্রেড অপারেটর সরবরাহ করে , যা কার্যত সমান Array.from
(যদিও নোটটি Array.from
ম্যাপিং ফাংশনটিকে দ্বিতীয় তর্ক হিসাবে সমর্থন করে)।
var arr = [...htmlCollection];
আমি নিশ্চিত করেছি যে উপরের দু'টিই কাজ করছে NodeList
।
উল্লিখিত পদ্ধতিগুলির জন্য একটি পারফরম্যান্স তুলনা: http://jsben.ch/h2IFA
for (var a=[], i=collection.length; i;) a[--i] = collection[i];
তাই সেখানে "কন" তেমন কিছু নয় :-)