Previously answered questions here said that this was the fastest way:
//nl is a NodeList
arr=Array.prototype.slice.call(nl);
In benchmarking on my browser I have found that it is more than 3 times slower than this:
arr=[];
for(var i=0,n; n=nl[i]; ++i) arr.push(n);
They both produce the same output, but I find it hard to believe that my second version is the fastest possible way, especially since people have said otherwise here.
Is this a quirk in my browser (Chromium 6)? Or is there a faster way?
EDIT: For anyone who cares, I settled on the following (which seems to be the fastest in every browser that I tested):
//nl is a NodeList
var l=[]; // Will hold the array of Node's
for(var i=0, ll=nl.length; i!=ll; l.push(nl[i++]));