将JavaScriptNodeList转换为Array的最快方法?
//nl is a NodeList
var arr = Array.prototype.slice.call(nl);
但是这个方法的执行效率非常缓慢:
var arr = [];
for(var i = 0, n; n = nl[i]; ++i) arr.push(n);
//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++]));
// nl is the nodelist
var arr = [];
for(var i = nl.length; i--; arr.unshift(nl[i]));
使用ES6,有了一种从NodeList创建Array的简单方法:
// nl is a NodeList
let myArray = Array.from(nl)